Wenn ich einzelne verwenden, wo Klausel wie WHERE source_city = '$to_name'
, arbeiten sie gut, aber wenn fügen eine weitere Überprüfung es mir Fehler zeigen:Mysqli Where-Klausel Fehler
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result
<?php
if(isset($_GET["view"])){
$to_name = $_GET["to_name"];
$from_name = $_GET["from_name"];
$select_user = "SELECT * from citi
WHERE source_city = '$to_name' AND
dest_city = '$from_name'";
$run_user = mysqli_query($conn,$select_user);
if(!$run_user){
echo "Error!";
}
while ($row=mysqli_fetch_array($run_user)){
$id = $row[0];
$source_name = $row[1];
$dest_name = $row[2];
echo "
<br><br>
$id<br>
$source_name<br>
$dest_name<br>";
}
}
?>
Dieser Fehler bedeutet, dass Sie kein gültiges Ergebnis von mysqli_query() 'übergeben. Wahrscheinlich generieren Sie einen MySQL-Fehler. Sie müssen herausfinden, was der MySQL-Fehler ist - versuchen Sie, Ihr '$ select_user' auszublenden, um zu sehen, ob die von Ihnen ausgeführte Abfrage gültig ist (Sie können dies direkt mit etwas wie phpMyAdmin ausführen, wenn Sie die Abfrage richtig machen wollen und bekomme Feedback, wie du es tust). –
Hinweis: Durch die Verwendung der String-Ersetzung in Abfragen ist Ihr Code anfällig für SQL-Injection-Angriffe. Sie sollten stattdessen [vorbereitete Anweisungen] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) verwenden. – Mureinik
Fügen Sie die mysql-Abfrage in Ihre Frage ein –