2016-06-01 3 views
0

Я пытаюсь получить значение из базы данных. Если это значение равно 1, ему необходимо показать текст «Один».Проверьте значение из базы данных

Но мой скрипт не работает. Для того, чтобы проверить, если результат SQL заявления равно 1 я использую следующую часть:

if ($result==1) 

    { 
     echo 'One'; 
    } 

Но это результат я получаю:

else 
    { 
    echo 'None'; 
    } 

Я думаю, что $result==1 не представляющая целое число.

Кто-нибудь знает, как я могу заставить этот скрипт работать?

Вот другая часть моего сценария:

<?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

Используйте 'mysql_num_rows', чтобы проверить погода вашей возвращенного запроса строки или не – Saty

ответ

1

Изменить это:

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

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

и так далее

Примечание: - расширение MySQL является устаревшим и будет удалены в будущем: используйте mysqli или PDO вместо

Если вы хотите точное значение из sql, используйте нижеприведенный код:

$res = mysql_fetch_row($result); 

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

Теперь я получаю текст«One». Но если я изменил значение 'id' на' 2'. Я все равно получаю «Один» – John

+0

Очевидно, что счет еще равен 1. Если вы хотите использовать фактический идентификатор, используйте mysql_fetch_row или такую ​​функцию, которая вернет точное значение и будет использовать это вместо mysql_num_row. Я соответствующим образом обновляю свой ответ. –

+0

Теперь я получаю «Нет» – John

0

Пожалуйста, попробуйте это.

<?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); 
    ?> 
Смежные вопросы