2017-01-04 7 views
-1

enter image description heremysql_real_escape_string, Abfrage und Anzahl der Zeilen

include("lib/config.php"); 
include("lib/mysql.php"); 

if ($_GET['action'] == "loginsignup") { 
    $error = ""; 
    if(!$_POST['email']) { 
     $error = "an email address is needed"; 
    } else if(!$_POST['password']) { 
     $error = "a password is needed"; 
    } else if (filter_var($_POST['email'],FILTER_VALIDATE_EMAIL) === false) { 
     $error = "please enter a valid email address"; 
    } 

    if ($error != "") { 
     echo $error; 
     exit(); 
    } 

    if($_POST['loginactive'] == "0") { 
     $query = "SELECT * FROM 'users' WHERE email = '".mysql_real_escape_string($link, $_POST['email'])."' LIMIT 1 "; 
     $result = mysql_query($link,$query); 

     if(mysql_num_rows($result) == 0) $error = "that email address is already taken."; 
    } 

    if ($error != "") { 
     echo $error; 
     exit(); 
    } 
} 

so hier ist der Code im überprüfen versuchen, ob es irgendwelche Fehler gibt und wenn es eine E-Mail in meiner Datenbank, die das gleiche, das ist wurde unterzeichnet hat so im diesen Fehler immer

mysql_real_escape_string() erwartet Parameter 1 sein Zeichenfolge, Ressource gegeben

mysql_query() erwartet Parameter 1 sein Zeichenfolge mit dem angegebenen Ressource in

mysql_num_rows() erwartet Parameter 1 Ressource null angegeben in

und ich wirklich versuchte ich hin und her mit mysqli und mysql und sie haben beide die gleichen Fehler

+0

Setzen Sie die Variable $ link? – avilac

+0

Guter Gott, haben Sie sich überhaupt die Mühe gemacht, die Dokumentation der von Ihnen verwendeten Funktion zu lesen? http://php.net/manual/de/function.mysql-real-escape-string.php Sie haben die Reihenfolge der Argumente getauscht! – arkascha

+0

Und während Sie diese Dokumentation lesen, sollten Sie auch bemerken, dass _huge_ die Verwarnungswarnung gelesen hat. Es ist aus einem bestimmten Grund da! – arkascha

Antwort

0

Sie vorbei als Argument eine Variable werden, die ist entweder deklariert oder initialisiert auf mysql_real_escape_string(), was dazu führt, dass es ein unerwartetes Ergebnis zurückgibt, was dazu führt, dass mysql_query() & mysql_num_rows() die erwarteten Parameter nicht erhält.

Hoffe es hilft!

Verwandte Themen