Tun Sie etwas, wenn der mySQL-query erfolgreich ist
Ich habe folgende mySQL query:
$content = mysqli_query($dblink, "SELECT * FROM passwordrecovery WHERE code = '$formcode'");
while($row = mysqli_fetch_array($content)) {
$db_username = $row['username'];
$db_email = $row['email'];
$db_code = $row['code'];
}
Ich würde gerne fügen Sie eine IF-Anweisung irgendwo hier, um zu überprüfen, ob die Abfrage erfolgreich ist, aber ich bin nicht sicher, wo.
Grundsätzlich habe ich ein Formular, wo ein Benutzer können einen code einfügen (per E-Mail) abrufen Ihr Passwort. Aber Sie könnte einen Fehler machen und geben Sie einen code, der nicht existiert in der Datenbank, und ich möchte Konto für eine solche situation zu werfen und wieder ein Fehler. Ich bin mir nur nicht sicher, wie es zu tun?
- Bitte fügen Sie einen tag für die Sprache, die Sie verwenden (perl?)
- Tut mir Leid seiner php. Ich habe die tag.
- das ist mysqli, wenn auch prozessuale, nicht OO mysqli. Teil über prepared statements steht, obwohl
- Nicht sehen, dass, mein schlechtes (zu viele Leute mit
mysql_*
ich sofort sah :D) tragen. Obwohl, wenn $formcode wird durch einige Mittel aus der Benutzer-Eingabe, die Sie verwendet werden sollten prepared statements. - Vielen Dank für den input und die Kritik, ich bin ein newb und lernen, so Schätze ich es 🙂 Obwohl du hast verwirren mich ungemein, wenn Sie sagte, ich solle mit mysqli_* 🙂 Prepared statements ist etwas, das ich schauen, aber ich bin unter Zeit-stress für meinen Kurs, Projekt, so dass ich gehen mit dem, was ich weiß, für jetzt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Abfrage-Fehler,
$content
wirdFALSE
eher als eine Ergebnis-resource. Überprüfen Sie, dass es ist nicht falsch. Wenn diese in eine nicht existierende code, die Sie erhalten würden, keine Zeilen zurück, so überprüfen Sie für mindestens eine Zeile übermysqli_num_rows()
.Nehmen wir an, Sie haben schon richtig escaped
$formcode
übermysqli_real_escape_string($formcode)
.