2012-05-11 16 views
1

私はMySQLとPHPを初めて使い、このコードに問題があります。私が間違っているつもりですどこを教えてください:PHP MySQL Select文のエラー

をここではコードです:

<?php 

include('connection.php'); 

$num1 = '1'; 
$num2 = '2'; 

// Get all the data from the table 

$sql = mysql_query("SELECT * FROM table1 WHERE num1 = '$num1' AND num2 = '$num2'"); 

$row = mysql_fetch_assoc($sql) or die("No rows returned by query"); 

while ($row = mysql_fetch_assoc($sql)) { 
echo $row["num1"]; 
echo '</br>'; 
echo $row["num2"]; 
echo '</br>'; 
} 

?> 

私は

$sql = mysql_query("SELECT * FROM table1 WHERE num1 > '$num1' AND num2 > '$num2'"); 

$sql = mysql_query("SELECT * FROM table1 WHERE num1 = '$num1' AND num2 = '$num2'"); 

を変更した場合、それは動作します。印刷する必要があるレコードがあるにもかかわらず、等号では機能しません。

ありがとうございます。

+0

あなたの 'table1'テーブルのスキーマと(関連する)内容を表示してください。 – eggyal

+0

エラーがありますか、結果はありませんか?エラーがある場合は、エラーメッセージを表示してください – Tobias

+0

クエリを変更した場合に返される行の値は何ですか? – DKSan

答えて

1

あなたの問題は、あなたが二回、 はそうwhileループ**($行= mysql_fetch_assoc($ sqlを外fetch文を削除)または(「クエリから行が返されない」)死ぬの結果をフェッチしているです。 )**それは動作するはずです。 これが有効な場合は更新してください。

+0

ありがとう!これはうまくいった。 – Theron

1

は、あなたが数字を比較しているので、引用符なしでそれらを使用してみてくださいもう一度

SELECT * FROM table1 WHERE num1 = $num1 AND num2 = $num2 
+0

'INT'型を引用すると、どんなデータベースでも – LeonardChallis

+0

が動作しますか?または私はいくつかのオプションをオンにする必要がありますか? –

+0

@ Tiagoそれは動作しません。私はまだ空白の画面が表示されます。 – Theron

1

を試してみてください。

SELECT * FROM table1 WHERE num1=$num1 AND num2=$num2 
+0

テーブルのデザインは以下の通りです: serial |タイプ:int |長さ - 4 |小数点以下0桁|主キー|自動インクリメント num1 |タイプ:int |長さ - 4 |小数点以下0桁| nullを許可する num2 |タイプ:int |長さ - 4 |小数点以下0桁|ヌルを許可する num3 |タイプ:int |長さ - 4 |小数点以下0桁| Allow null – Theron

+0

@ Rajeev S /これは動作しません。私はまだ空白の画面が表示されます。 – Theron