在提交给数据库时,我知道为什么会出现此错误?
'where子句'中的未知列'id' 警告:mysql_num_rows():提供的参数不是第41行/home/somebody/public_html/sendmessage.php中有效的MySQL结果资源
while($success == FALSE) {
$rand = rand(100000, 999999);
$q = "SELECT * FROM $tablename WHERE id = '$rand'";
$r = mysql_query($q, $link);
echo mysql_error();
if(mysql_num_rows($r)) { **THIS IS LINE 41**
continue;
} else {
$success = TRUE;
}
}
答案 0 :(得分:2)
您的表名称存储在$tablename
中,但没有名为id
的列。这会导致查询失败,并且所有后续数据库函数也将失败。
答案 1 :(得分:0)
那里看起来不太好,
首先确保你有一个专栏" id"在那张桌子里。 并注意" id"不是" Id"也不是" ID"也不是" iD"! 在完全确定您拥有该列之后,仍然会收到错误,请尝试使用 quatation marks:
$q = "SELECT * FROM ". $tablename ." WHERE 'id'='". $rand."'";
答案 2 :(得分:0)
尝试这样的事情。感谢
while($ success == FALSE){ $ rand = rand(100000,999999);
$q = "SELECT * FROM ". $tablename ." WHERE id = '". $rand ."'";
$r = mysql_query($q, $link);
$num_rows = mysql_num_rows($r);
echo mysql_error();
if($num_rows > 0) { **THIS IS LINE 41**
continue;
} else {
$success = TRUE;
}
}
干杯!
答案 3 :(得分:0)
“ where子句”中的未知列“ id”
我也遇到了这个错误,我发现我正在调用另一个没有id属性的表。所以我建议您检查表名