use*_*680 1 php mysql sql error-suppression suppress-warnings
我有一个简单的脚本来检查用户上传了多少文件:
$sql = "SELECT * from $username where file IS NOT NULL";
$result = mysql_query($sql);
$count=mysql_num_rows($result);
Run Code Online (Sandbox Code Playgroud)
如果表$ username没有任何文件不为null的行,则会吐出:
"警告:mysql_num_rows():提供的参数不是......中的有效MySQL结果资源"
我该怎么做才能避免这种情况?是否有一种简单的方法可以简单地禁止显示此错误消息?或者一个简单的"if"语句,可以阻止SQL查询首先发生?
你可以这样做:
<?php
$sql = "SELECT * from $username where file IS NOT NULL";
$result = mysql_query($sql);
if($result)
{
$count=mysql_num_rows($result);
}
else
{
$count = 0;
}
Run Code Online (Sandbox Code Playgroud)
或使用速记:
<?php
$count = ($result) ? mysql_num_rows($result) : 0;
Run Code Online (Sandbox Code Playgroud)
注意:
就像你在其他评论中看到的那样,这只是你问题的答案,一次解决一个问题.在这里使用$ username可能很棘手,特别是如果它是动态或用户生成的内容.最好看看你与数据库交互方式的一些长期改进,但现在是修复;-)
PS.如果你不想学习所有新东西,也许是一个框架,像Codeigniter这样的东西可以帮助你.使用它的活动记录类很容易,它本身可以处理很多事情.
归档时间: |
|
查看次数: |
1501 次 |
最近记录: |