2016-06-01 14 views
0

Ich versuche, einen Wert aus der Datenbank zu erhalten. Wenn dieser Wert gleich 1 ist, muss der Text "Eins" angezeigt werden.Überprüfen Sie einen Wert aus der Datenbank

Aber mein Skript funktioniert nicht. Um zu überprüfen, ob das Ergebnis der SQL-Anweisung gleich 1 ist ich bin mit dem folgenden Teil:

if ($result==1) 

    { 
     echo 'One'; 
    } 

Aber dies ist das Ergebnis, das ich bekommen:

else 
    { 
    echo 'None'; 
    } 

Ich denke, dass $result==1 ist kein darstellt ganze Zahl.

Weiß jemand, wie ich dieses Skript arbeiten kann? Hier

ist anderer Teil meines Skript:

<?php 

$user_name = "root"; 
$password = ""; 
$database = "db"; 
$server = "localhost"; 

$db_handle = mysql_connect($server, $user_name, $password); 
$db_found = mysql_select_db($database, $db_handle); 

if ($db_found) { 
$result =mysql_query("SELECT id FROM users WHERE user_id=1"); 
if ($result==1) 

    { 
     echo 'One'; 
    } 

if ($result==2) 

    { 
     echo 'Two'; 
    } 

if ($result==3) 

    { 
     echo 'Three'; 
    } 

else 
    { 
    echo 'None'; 
    } 
} 
else { 
print "Database NOT Found."; 
mysql_close($db_handle); 
} 
?> 
+1

Verwenden 'mysql_num_rows' überprüfen Sie Ihre Abfrage Rückkehr Zeilen Wetter oder nicht – Saty

Antwort

1

Änderung dieser:

$result =mysql_query("SELECT id FROM users WHERE user_id=1"); 
$count = mysql_num_rows($result); 

if ($count == 1) { 
    echo 'One'; 
} 

und so weiter

Hinweis: - Die MySQL-Erweiterung ist veraltet und wird in der Zukunft entfernt: Verwenden Sie stattdessen mysqli oder PDO

Wenn Sie genaue Wert von SQL möchten, verwenden Sie folgenden Code:

$res = mysql_fetch_row($result); 

if ($res[0] == 1) { 
    echo 'One'; 
} 
+0

Jetzt bekomme ich den Text„One“. Aber wenn ich den Wert von ID zu 2 ändere. Ich bekomme immer noch "Eins" – John

+0

Offensichtlich ist die Zählung immer noch 1. Wenn Sie die tatsächliche ID wollen, dann benutzen Sie bitte mysql_fetch_row oder eine solche Funktion, die den genauen Wert zurückgibt und diesen anstelle von mysql_num_row verwendet. Ich habe meine Antwort entsprechend aktualisiert. –

+0

Jetzt bekomme ich "None" – John

0

diese Bitte versuchen Sie es.

<?php 

    $user_name = "root"; 
    $password = ""; 
    $database = "db"; 
    $server = "localhost"; 

    $db_handle = mysql_connect($server, $user_name, $password); 
    $db_found = mysql_select_db($database, $db_handle); 

    if ($db_found) { 
    $result =mysql_query("SELECT id FROM user WHERE user_id = 1"); 
    $result = mysql_fetch_array($result);} 
    if($result){ 
     echo $result['id']; 

    } 
    else 
     { 
     echo 'None'; 
     } 

    mysql_close($db_handle); 
    ?> 
Verwandte Themen