Überprüfen Sie anhand vorbereiteter Anweisungen, ob eine E-Mail bereits in der Datenbank vorhanden ist

Lesezeit: 2 Minuten

Uberprufen Sie anhand vorbereiteter Anweisungen ob eine E Mail bereits in
Benutzer1227124

Ich versuche, meinen Code in msqli-vorbereitete Anweisungen von mysql zu ändern. Ich bin mir nicht sicher, wie ich meinen Code anpassen soll, der derzeit funktioniert, um zu überprüfen, ob bereits eine E-Mail in der Datenbank vorhanden ist. Unten ist der Code, den ich derzeit verwende, der funktioniert. Wie ändere ich dies in eine vorbereitete Anweisung und erhalte das gleiche Ergebnis?

//if email is equal to an email already in the database, display an error message

if(mysql_num_rows(mysql_query("SELECT * FROM users WHERE email="".mysql_real_escape_string($_POST["email'])."'")))
{
  echo "<p class="red">Email is already registered with us</p>";
} else {
  // missing code?
}

  • Willkommen auf SO. Ich habe Ihren Beitrag nach bestem Wissen und Gewissen neu formatiert. Lesen Sie unbedingt die FAQ, um sich an das Markieren zu gewöhnen. Es fehlt ein Code, den Sie wahrscheinlich posten wollten.

    – pmr

    23. Februar 2012 um 0:31 Uhr

1647860046 60 Uberprufen Sie anhand vorbereiteter Anweisungen ob eine E Mail bereits in
Rachel

Sollte ungefähr so ​​sein:

// enable error reporting for mysqli
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
// create mysqli object
$mysqli = new mysqli(/* fill in your connection info here */);

$email = $_POST['email']; // might want to validate and sanitize this first before passing to database...

// set query
$query = "SELECT COUNT(*) FROM users WHERE email = ?";

// prepare the query, bind the variable and execute
$stmt = $mysqli->prepare($query);
$stmt->bind_param('s', $email);
$stmt->execute();

// grab the result
$stmt->bind_result($numRows);
$stmt->fetch();

if ($numRows) {
    echo "<p class="red">Email is already registered with us</p>";
} else {
    // ....
}

Dieser Link kann Ihnen auch helfen:

http://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php

  • Danke, aber ich erhalte eine Fehlermeldung: Fatal error: Call to a member function bind_param() on a non-object

    – Benutzer1227124

    23. Februar 2012 um 8:51 Uhr


  • OK sortiert, ich habe (E-Mail) anstelle von hinzugefügt

    – Benutzer1227124

  • $stmt->bind_param($email) 23. Februar 2012 um 17:23 Uhr $stmt->bind_param('s', $email)sollte sein

    .

    – Raketen-Hazmat

1005330cookie-checkÜberprüfen Sie anhand vorbereiteter Anweisungen, ob eine E-Mail bereits in der Datenbank vorhanden ist

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy