2016-06-01 20 views
0

データベースから値を取得しようとしています。この値が1の場合は、テキスト「1」を表示する必要があります。データベースから値を確認してください

しかし、私のスクリプトは動作していません。私は$result==1が代表ではないと思われる

else 
    { 
    echo 'None'; 
    } 

if ($result==1) 

    { 
     echo 'One'; 
    } 

をしかし、これは私が得る結果である:SQL文の結果は、私は、次のパーツを使用しています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

今、私はテキスト「ワン」を得る – 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

クエリの戻り行を乗り切るかどうかチェックするために 'mysql_num_rows'を使用してください。しかし、私は 'id'の値を' 2'に変更します。私はまだ "One"を取得します – John

+0

明らかにカウントはまだ1です。実際のIDが必要な場合は、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); 
    ?> 
関連する問題