我似乎很难用这段代码,我不明白,因为在我的家庭服务器上这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
}
答案 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())
会更好 - 这会写入您的错误日志。另请考虑升级到PDO或MySQLi,因为不推荐使用此MySQL库。
答案 1 :(得分:1)
$count=mysql_num_rows($result);
------------------------------^
or die mysql_error();//line 119
$count=mysql_num_rows($result) or die mysql_error();
终止!!!
答案 2 :(得分:0)
$count=mysql_num_rows($result);
or die mysql_error();
应该是
$count=mysql_num_rows($result) or die mysql_error();
答案 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
}