1

私はMySQLとPHPを初めて使用し、このコードで問題が発生しています。私がどこで間違っているのか教えてください:

コードは次のとおりです。

<?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'");

できます。印刷する必要のあるレコードがありますが、等号では機能しません。

お時間をいただきありがとうございます。

4

3 に答える 3

1

再試行

SELECT * FROM table1 WHERE num1 = $num1 AND num2 = $num2
于 2012-05-11T06:24:29.077 に答える
1

数値を比較しているので、引用符なしで使用してみてください。

SELECT * FROM table1 WHERE num1=$num1 AND num2=$num2
于 2012-05-11T06:26:38.077 に答える
1

問題は、結果を2回フェッチしていることです。したがって、whileループの外側でfetchステートメントを削除します**($ row = mysql_fetch_assoc($ sql)またはdie( "クエリによって行が返されません");)**。これが機能する場合は更新してください。

于 2012-05-11T07:07:13.010 に答える