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

您的问题是您要获取两次结果,因此请在 while 循环**($row = mysql_fetch_assoc($sql) 或 die("No rows returned by query");)** 之外删除 fetch 语句,它应该可以工作。如果这有效,请更新。

于 2012-05-11T07:07:13.010 回答
1

由于您正在比较数字,请尝试使用不带引号的数字。

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