这是新的,但搜索没有成功。我的脚本出现以下错误:
“注意:使用未定义的常量sStatus - 假设'sStatus'在”...
中
和
“警告:mysql_numrows()要求参数1为资源,在”...
中给出布尔值
我希望后者是第一个问题。如果您需要更多代码,请告诉我,但与之相关的部分是:
line31:
$sStatus = $_POST['sStatus'];
和第43至53行:
if (sStatus == "all")
{
$query="SELECT * FROM tickets WHERE RequestBy='$sName'";
}
else
{
$query="SELECT * FROM tickets WHERE RequestBy='$sName' AND Status='$sStatus";
}
//put query in result and count rows ready to loop for table display
$result=mysql_query($query);
$num=mysql_numrows($result);
sStatus从主页上的表单中提取,并且是“0”,“1”或“全部。相同的变量在脚本中进一步使用,if为”0“或”1“改为”成功打开“或”关闭。
最值得赞赏的任何帮助。 马丁
答案 0 :(得分:0)
将$sStatus = $_POST['sStatus'];
更改为:$sStatus = isset($_POST['sStatus'])?$_POST['sStatus']:"";
将if (sStatus == "all")
更改为if ($sStatus == "all")
=>缺少$
将$num=mysql_numrows($result);
更改为$num=mysql_num_rows($result);
答案 1 :(得分:0)
错误1:
第43行使用sStatus
代替$sStatus
。
错误2:
该函数名为mysql_num_rows()
。
并注意:请不要使用mysql_*
个功能。请改用PDO,尤其是对于预准备语句,这也将提高应用程序的安全性。
答案 2 :(得分:0)
您错过了“$”:
if ($sStatus == "all")
那应该摆脱警告。此外,您在第二个查询中缺少单引号:
$query="SELECT * FROM tickets WHERE RequestBy='$sName' AND Status='$sStatus'";
希望这有帮助。
答案 3 :(得分:0)
if ($sStatus == "all")
{
$query="SELECT * FROM tickets WHERE RequestBy='$sName'";
}
else
{
$query="SELECT * FROM tickets WHERE RequestBy='$sName' AND Status='$sStatus";
}
你错过了$ sStatus“$”,这就是为什么它假设它是一个常数。我同意,您应该使用PHP PDO 对象进行数据库操作,它使查询非常容易使用..