Ich habe einige Probleme, diese Abfrage zu bekommen, um richtig zu sterben. Ich verwende ein HTML-Formular, um nach Daten in einer Tabelle zu suchen. jetzt, wenn die Daten vorhanden sind, funktioniert die Abfrage einwandfrei und zeigt alles an, was ich auch brauche. Aber wenn ich weiß, dass die Daten nicht existieren, benutze ich den Würfel in meinem Code. Ich möchte, dass "Error get data please search again" angezeigt wird, aber nicht. Alles tut nichts, absolut nichts! Können Sie Fehler innerhalb des Codes sehen? Ich kann die ganze HTML-Datei hochladen, wenn es nötig ist. Ich habe es stundenlang angeschaut und angefangen, ein bisschen verrückt zu werden!PHP-Abfrage nicht richtig
Dankif (isset($_POST['submitted'])) {
$category = $_POST ['category'];
$criteria = $_POST ['criteria'];
$query = "SELECT g.GameID, g.GameName, g.PubID, g.TimePeriodID, g.SettingID, g.MoodID, g.GameWeaponID, g.GameCameraAngleID, g.GamePlayerTypeID, g.GameDescription FROM GameTable g WHERE $category = '$criteria'"; //selecting all the data from the game table that makes the search criteria
$result = mysqli_query($dbcon, $query) or die("Error getting data please search again");
echo "<table class='col-md-12'>"; // displays the searched data as a table
while ($row = mysqli_fetch_array($result)) {
echo "<form class=col-md-6 action=searchgame.php method=post>";
echo "<tr> <th> Game ID</th> </tr>";
echo "<tr>";
echo "<td>" . "<input class=text-black type=text name=gameid readonly=readonly value=" . $row['GameID'] . " </td> <br>"; //here i have made the game Id read only so that it is not editable by the administrator
echo "<tr> <th> Game Name</th> </tr>";
echo "<td>" . "<input class=text-black type=text name=gamename value=" .$row['GameName'] . " < /td> <br>"; // editable boxes so administator can update
echo "<tr> <th> Publisher ID</th> </tr>";
echo "<td>" . "<input class=text-black type=text name=pubid value=" . $row['PubID'] . " < /td><br>";
echo "<tr> <th> Time Period ID</th> </tr>";
echo "<td>" . "<input class=text-black type=text name=timeperiodid value=" . $row['TimePeriodID'] . " < /td><br>";
echo "<tr> <th> Setting ID</th> </tr>";
echo "<td>" . "<input class=text-black type=text name=settingid value=" . $row['SettingID'] . " < /td> <br>";
echo "<tr> <th> Mood ID</th> </tr>";
echo "<td>" . "<input class=text-black type=text name=moodid value=" . $row['MoodID'] . " < /td><br>";
echo "<tr> <th> Weapon ID</th> </tr>";
echo "<td>" . "<input class=text-black type=text name=gameweaponid value=" . $row['GameWeaponID'] . " < /td><br>";
echo "<tr> <th> Camera Angle ID</th> </tr>";
echo "<td>" . "<input class=text-black type=text name=gamecameraangleid value=" . $row['GameCameraAngleID'] . " < /td><br>";
echo "<tr> <th> Player ID</th> </tr>";
echo "<td>" . "<input class=text-black type=text name=gameplayertype value=" . $row['GamePlayerTypeID'] . " < /td><br>";
echo "<tr> <th> Game Description</th> </tr>";
echo "<td>" . "<textarea style=height:200px;width:300px; class=text-black type=text name=gamedescription value=>" . $row['GameDescription'] . "</textarea><br>";
echo "<td>" . "<input type=hidden name=hidden value=" . $row['GameID'] . " </td>";
echo "<td>" . "<input class=text-black input-button-rounded type=submit name=update value=Update" . " </td>"; //update button
echo "<td>" . "<input class=text-black input-button-rounded type=submit name=delete value=Delete" . " </td>"; //delete button
echo "</tr>";
echo"</form>";
}
echo "</table>";
}
?>
Dann erhalten Sie den echten Fehler mysqli_error ($ dbcon) ' –
auch die Abfrage und in mysql direkt ausführen ... – Naga
** WARNUNG **: Wenn Sie mysqli verwenden Sie sollten [parametrisierte Abfragen] (http : //php.net/manual/de/mysqli.quickstart.prepared-statements.php) und ['bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php) Hinzufügen von Benutzerdaten zu Ihrer Abfrage ** Verwenden Sie NICHT ** String-Interpolation oder Verkettung, um dies zu erreichen, weil Sie einen schwerwiegenden [SQL injection bug] erstellt haben (http://bobby-tables.com/). ** NIEMALS ** $ _POST 'oder' $ _GET' Daten direkt in eine Abfrage einfügen, es kann sehr schädlich sein, wenn jemand versucht, Ihren Fehler auszunutzen. – tadman