我创建了一个插件并在那里定义了一个短代码。这包括我自己的PHP脚本(页面)。数据位于第二个数据库中。直接mysql查询工作正常(testcode),但db。类在调试中创建警告。日志:PHP Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /usr/www/users/samtgt/2019-Wordpress/wp-content/eigeneScripte/Classes/db.class.php on line 47
sql。股份有限公司
$con = mysqli_connect($data["host"],$data["user"],$data["pwd"],$data["db"]);
if ( !$con) die(\'Die SQL-Datenbank ist ausgefallen, bitte versuchen Sie es zu einem späteren Zeitpunkt noch einmal\'.mysqli_connect_error());
mysqli_set_charset($con,"utf8");
测试。php此代码工作正常。
$dir = __DIR__."/";
include_once($dir."sql.inc.php");
// Testcode Anfang
if ($result = mysqli_query($con,"SELECT Aemter FROM Aemter")) {
while($obj = $result->fetch_object()){
$line.=$obj->Aemter."<br>";
}
echo $line;
$result->close();
}
// Testcode Ende
此代码创建错误
$dir = __DIR__."/";
require_once($dir."sql.inc.php");//die("ja");
require_once($dir."Classes/db.class.php");
function lebenslage() {
$DB = new db_query();
$DB->execute("SELECT * FROM Lebenslagen ORDER BY Lebenslagen");
echo "<center>\\n";
echo "<form style=\\"padding-top:20px\\" action=\\"".$_SERVER["PHP_SELF"]."\\">\\n";
echo "<select name=\\"Lebenslagen\\">\\n";
echo "<option selected>Lebenslage</option>\\n";
while($DB->next()){
echo "<option value=\\"".$DB->value("Lebenslagen_id")."\\">".$DB->value("Lebenslagen")."</option>\\n";
} // while
echo "</select> ";
echo "<input type=\\"SUBMIT\\" name=\\"step\\" value=\\"anzeigen\\" />\\n";
echo "</form>\\n</center>\\n";
}
数据库。班php
class db_query
{
/**
* Das Handle der DB-Connection
*/
public $con;
/**
* Pointer innerhalb der aktuellen Query
*/
public $queryptr;
/**
* Anzahl der Ergebniszeilen
*/
public $rowcount;
/**
* Ergebnis der Query-Operation als assoziatives Array
*/
public $result;
/**
* Ausfhren eines SQL-Befehls
*
* Speichert den Pointer auf das Ergebnis des Befehls in $queryptr
* und die Anzahl der erhaltenen Zeilen in $rowcount
*/
function execute($sql)
{
global $debug;
global $con;
// here is line 47
$this->queryptr = mysqli_query($con,$sql)
or die ("<br></tr></table>Fehler beim Absetzen des SQL-Statements:<br><b>$sql</b><br><i>".mysqli_error($con))."</i>";
$this->rowcount = mysqli_affected_rows($con);
}
/**
* Ausf¸hren von INSERT oder UPDATE ohne R¸ckgabewerte
*
*/
function exec($sql)
{
global $con;
mysqli_query($con,$sql)
or die ("<br></tr></table>Fehler beim Absetzen des SQL-Statements:<br><b>$sql</b><br><i>".mysqli_error($con));
}
/**
* Holen der nÔøΩhsten Resultat-Zeile der Query
*
* Speichern der Inhalte der Resultat-Zeile im assoziativen Array $result
*/
function next()
{
global $con;
$this->result = mysqli_fetch_array($this->queryptr);
if (!$this->result) {
return (false); } else {
return (true); };
}
/**
* R¸ckgabe des gewnschten Wertes aus der aktuellen Resultat-Zeile
*/
function value($col)
{
return($this->result["$col"]);
}
/**
* In die Result-Zeile $jmp springen (klappt nicht so ganz)
*/
function jump($jmp)
{
$this->result = mysql_data_seek($this->queryptr,$jmp);
}
/**
* die zuletzt eingegebene id zurückliefern
*/
function last_id()
{
global $con;
return mysqli_insert_id($con);
//or die ("<br></tr></table>Fehler beim Absetzen des SQL-Statements:<br><b>$sql</b><br><i>".mysqli_error($con));
}
}
谁能帮忙?伯纳德