mysql_num_rows()错误

时间:2013-01-04 14:48:29

标签: php html sql

我似乎很难用这段代码,我不明白,因为在我的家庭服务器上这100%完美。基本上这个脚本获取用户ip并将其存储到mysql表中。每次用户发布它都会检查表以查看ip是否已经发布。当我在num_rows上运行mysql_error()时会出现问题,我得到:

Parse error: syntax error, unexpected T_LOGICAL_OR on line 119

有什么想法吗?

PHP:

$poster_ip=$_SERVER['REMOTE_ADDR'];//Posters ip
//check for ip double posting
//selecet ip from table
$sql="SELECT * FROM $tbl_name WHERE ip='$poster_ip'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
or die mysql_error();//line 119
//if result matche posterip, table row must be 1
if($count==1){
//ip taken
echo "This IP has already submited a post. You may not submit another.";
exit();
//else script continues
}

7 个答案:

答案 0 :(得分:14)

删除分号,因为它终止了语句,or die被视为新语句,导致错误:

$count=mysql_num_rows($result) or die(mysql_error());
                         //   ^ no semicolon

die()电话周围还需要括号。

旁注:or die(mysql_error())不被视为良好做法,因为在开发和生产环境之间难以维护。 or trigger_error(mysql_error())会更好 - 这会写入您的错误日志。另请考虑升级到PDOMySQLi,因为不推荐使用此MySQL库。

答案 1 :(得分:1)

删除分号!

$count=mysql_num_rows($result);
------------------------------^
or die mysql_error();//line 119

将其更改为:

$count=mysql_num_rows($result) or die mysql_error();

终止!!!

建议:

不要使用mysql_*函数,因为它们已被弃用。请改用mysqliPDO

答案 2 :(得分:0)

$count=mysql_num_rows($result);
or die mysql_error();

应该是

$count=mysql_num_rows($result) or die mysql_error();

任何,我建议您避免使用mysql_*,因为它们已被弃用。请改用mysqliPDO

答案 3 :(得分:0)

尝试更改此内容:

$count=mysql_num_rows($result);
or die mysql_error();//line 119

对此:

$count=mysql_num_rows($result) or die mysql_error();//line 119

答案 4 :(得分:0)

请删除分号添加()以便显示错误&然后死了

$count=mysql_num_rows($result) or die(mysql_error()); //line 119

答案 5 :(得分:0)

你无法以“或”开头 在第118行,您以“;”结尾

$count = mysql_num_rows($result) or die mysql_error();

但是在结果之后进行错误检查会更好:

if(!$result) {
    die mysql_error();        
}

答案 6 :(得分:0)

此代码可以使用。我在'或死'之前删除了分号(;),这导致了错误..

$poster_ip=$_SERVER['REMOTE_ADDR'];//Posters ip
//check for ip double posting
//selecet ip from table
$sql="SELECT * FROM $tbl_name WHERE ip='$poster_ip'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result) or die mysql_error();//line 119
//if result matche posterip, table row must be 1
if($count==1){
//ip taken
echo "This IP has already submited a post. You may not submit another.";
exit();
//else script continues
}