Mysql_num_rows()问题

时间:2012-02-22 08:01:00

标签: php mysql

我已经编写了下面的查询来检查数据库记录中的记录是否与下面的条件匹配。我敢肯定有符合这种情况的arow,但问题是任何一组组合都会返回“Record Exists”行

$query = mysql_query("SELECT * FROM         result_upload
WHERE course_code = '$course_code'
WHERE session = $session'
WHERE semester_name = $semester_           name'
WHERE level = $level'") or die
 (mysql_error());

$duplicates = mysql_num_rows($query);
if ($duplicates = 1) 
{
 echo "Record Exists";
}       else
{
echo "No Record";
}

提前致谢。

7 个答案:

答案 0 :(得分:4)

尝试使用$duplicates == 1

这是比较运算符而不是赋值。

答案 1 :(得分:3)

两次使用等号(=)进行比较(a == b),一次用于作业(a = b)。

答案 2 :(得分:2)

if ($duplicates == 1) {
....
//OR
if ($duplicates > 0) {
.....

答案 3 :(得分:1)

if ($duplicates = 1) 

而不是这个..写

if ($duplicates == 1) 

答案 4 :(得分:1)

首先,您在查询中有多个WHERE子句,您可以在初始WHERE之后用AND替换所有WHERE语句。

然后使用:

($ duplictes == 1)

希望这有帮助!?

答案 5 :(得分:0)

您应该使用:

1) only one WHERE clause with AND operator
2) if($duplicates >=1)

答案 6 :(得分:0)

使用双等号(==)符号。这是比较器,它比较两个项目。当您只使用一个等号(=)时,您正在设置变量。你需要做的是:

if ($duplicates == 1) 

而不是

if ($duplicates = 1) 

你在后面做的事实上是将$ duplicates设置为1,总是评估为true。因此,您正在创建一个永无止境的循环!