2017-04-12 4 views
1

Ich möchte die registrierte IP eines Benutzers in der Datenbank erhalten.ein Daten in einer Datenbank erhalten?

Ich benutze diese Methode:

$securityRes=mysql_query("SELECT * FROM security WHERE userName=".$userRow['name']); 
$securityRow=mysql_fetch_array($securityRes); 

Aber es zurückgeben mir nichts, wenn ich diesen Code verwenden:

echo $securityRow['IP'] 

ich auf sie blockiert bin da wie 1 Stunden, und Google scheint wollen nicht, mein Freund sein heute:/

Also frage ich Hilfe hier, in der Hoffnung ich werde einige bekommen.

Vielen Dank im Voraus; herzlich, Matt.

PS - Here is my database | my table "security" :

enter image description here

+0

Verwendung 'mysqli_ *' statt 'mysql_ *' zu verwenden. –

+0

zeigen uns das Ergebnis von 'var_dump ($ securityRow);' –

+0

, was den Wert von '$ userRow ist [ 'name']'? –

Antwort

4

Vor allem mysqli_ Gebrauch * statt mysql_ *. Und die Frage ist hier:

"SELECT * FROM security WHERE userName=".$userRow['name']; 

name ist immer ein String ist, und für String-Vergleich haben Sie den Wert in einfache Anführungszeichen zu binden, wie:

"SELECT * FROM security WHERE userName='".$userRow['name']."'"; 
0

sollten Sie versuchen hier debuggen.

$securityRes = mysql_query("SELECT * FROM security WHERE userName=".$userRow['name']) or die(mysql_error()); 
$securityRow = mysql_fetch_array($securityRes); 
echo "<pre>"; 
print_r($securityRow); // Check your result 
0

Warnung mysql_query, mysql_fetch_array, mysql_connect etc .. Erweiterungen wurden in PHP 5.5.0 veraltet und in PHP 7.0.0 entfernt. Stattdessen sollte die Erweiterung MySQLi oder PDO_MySQL verwendet werden.

1) In Ihrem Code benötigen Sie eine Zeichenfolge, die in einfache Anführungszeichen eingeschlossen wird.

2) Versuchen prepared statement or PDO wie diese

 //db connection 

    global $conn; 

     $servername = "localhost"; //host name 

     $username = "username"; //username 

     $password = "password"; //password 

     $mysql_database = "dbname"; //database name 

    //mysqli prepared statement 

     $conn = mysqli_connect($servername, $username, $password) or die("Connection failed: " . mysqli_connect_error()); 

     mysqli_select_db($conn,$mysql_database) or die("Opps some thing went wrong"); 

     $stmt = $conn->prepare("SELECT * FROM security WHERE userName=?"); 

     $stmt->bind_param('s',$userRow['name']); 

     The argument may be one of four types: 

      i - integer 
      d - double 
      s - string 
      b - BLOB 
     //change it by respectively 

     $stmt->execute(); 
     $get_result =$stmt->get_result(); 

     $row_count= $get_result->num_rows; 

     if($row_count>0) 
     { 

     print_r($get_result->fetch_assoc()); 

     } 
Verwandte Themen