Zuerst entschuldigung für mein Englisch.OOP PHP geben Warnung: mysqli_fetch_query() erwartet Parameter 1 zu sein mysqli_result, boolean gegeben in
Hallo, ich bin ziemlich neu in PHP, und ich lerne es in OOP. Ich mache jetzt ein Arbeitsprojekt, das PHP benutzt.
Ich habe 3 PHP-Dateien erstellt, und ich möchte die Ausgabe von einer DB-Abfrage sehen.
Die Dateien sind db_connect.php
, login.php
und query.php
.
Die query.php
ist nur zum Speichern der Abfrage, so dass, wenn ich eine Abfrage schreiben möchte, ich nur eine Funktion innerhalb query.php
aufrufen. Aber wenn ich es laufen, gibt es mir Warnung:
mysqli_fetch_assoc() erwartet Parameter 1 werden MySQLi_Result, boolean gegeben in ../query.php
Ich habe versucht, es zu beheben, aber es gibt mir noch einen Fehler object given
oder null given
neben diesem boolean given
.
Irgendwelche Ideen, was ich falsch mache und Vorschlag, was ich tun soll?
By the way, das ist meine Datei:
db_connect.php
<?php
class sql_con {
public $conn;
public function __construct()
{
$this_com = "localhost";
$user = "root";
$pass = "root";
$db = "db";
try {
$this->conn = mysqli_connect($this_com,$user,$pass,$db);
if (mysqli_connect_error())
{
die("koneksi eror : ".mysqli_connect_errno()." = ".mysqli_connect_error());
// exit();
}
}
catch(Exception $e) {
echo $e . mysqli_connect_error();
}
}
}
?>
login.php
<?php
require_once('db_connect.php');
require_once("query.php");
$str_query = "select * from ";
$table = "table";
$condition =" where user=$user and pass=$pass";
$conn = new db_connect();
$query = new query();
$result = $query->query_sql($conn->conn,$str_query,$condition,$table);
$result = mysqli_fetch_assoc($query);
echo $result;
$sql_c = new sql_con();
mysqli_close($sql_c->conn);
query.php
<?php
require_once("db_connect.php");
class query {
var $query;
var $conn;
public function query_sql($conn, $string_query, $condition, $table)
{
$conn =new sql_con();
$query = mysqli_query($conn,$string_query.$table.$condition);
return $query;
}
}
erfordern 'require_once ("query.php");' und nicht 'require_once (" queri.php ");' –
Entschuldigung für Tippfehler, korrigierte es, – randuwe
Sie müssen 'mysqli' zu th sagen Zeilenausnahmen: http://stackoverflow.com/questions/15553496/new-mysqli-how-to-intercept-an-unable-to-connect-error oder fügen Sie weitere Fehlerbehandlung manuell hinzu. Dann wirst du feststellen, dass 'table' ein reserviertes Wort ist ... – jeroen