我在PHP中有一个简单的行数。 如果没有找到任何行,我需要$ sfideRicevute为' 0',但此查询不会返回任何内容。
PHP:
<?php
$sql = "SELECT * FROM `match` WHERE show_id = $showid AND w02 = $id AND status = 'sfida'";
if ($result = mysql_query ("$sql")){
while ($row=mysql_fetch_array ($result)) {
?>
<? $sfideRicevute = mysql_num_rows($result); ?>
<? echo $sfideRicevute; ?>
感谢您的帮助
答案 0 :(得分:2)
echo intval($sfideRicevute);
或
echo (int) $sfideRicevute
两者都将值转换为整数0.在php&#39; 0&#39;,false,0,null将以这种方式全部转换为int 0。
1,真实和其他数字将保持其价值但是,我不知道是否立即清楚:)
请查看http://php.net/manual/en/language.types.type-juggling.php了解详情。
答案 1 :(得分:2)
从PHP文档中mysql_num_rows返回的内容:
成功时结果集中的行数,如果失败则为FALSE。
它应该返回0,如果它不是,那么查询可能有问题。
另请注意,建议不要使用这些mysql_函数,因为它们将从php中删除,请参阅http://nl3.php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated
第二:您是否考虑过SQL注入,因为您直接将一个变量放入查询中,这也不是推荐的,而且不需要上面链接中提到的替代方案。
答案 2 :(得分:1)
您可以查看$ sfideRicevute的值是什么,如果它为null,则显示0。
echo $sfideRicevute == null ? 0 : $sfideRicevute;