PHP num_行不工作
我正在尝试获取数据库中的行数。如果行数大于0,脚本需要回显PHP num_行不工作,php,Php,我正在尝试获取数据库中的行数。如果行数大于0,脚本需要回显1或更多如果行数为0,脚本应回显0 但脚本不起作用 当行数为1时,我得到一个或多个。当行数为0时,我仍然会得到一个或多个 有人知道什么地方出了问题,我该如何解决 这是我的剧本: $sql = "SELECT id FROM table WHERE status='1' "; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row =
1或更多
如果行数为0,脚本应回显0
但脚本不起作用
当行数为1时,我得到一个或多个。当行数为0时,我仍然会得到一个或多个
有人知道什么地方出了问题,我该如何解决
这是我的剧本:
$sql = "SELECT id FROM table WHERE status='1' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<p>1 or more</p>";
}
} else {
echo "<p>0</p>";
}
$conn->close();
$sql=“从status='1'所在的表中选择id”;
$result=$conn->query($sql);
如果($result->num_rows>0){
而($row=$result->fetch_assoc()){
回声“1个或多个””;
}
}否则{
回声“0”;
}
$conn->close();
如果您使用的是mysqli,num_行应该可以工作,但如果您使用的是prepared语句,这将不起作用。
如果不打印从表中获得的结果,则无需获取表。如果查询成功,则num_行将正常工作。在$result
上打印\r,如果存在数组,则num\u行将起作用。否则,请尝试使查询可执行
$sql = "SELECT id FROM table WHERE status='1' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<p>1 or more</p>";
} else {
echo "<p>0</p>";
}
$conn->close();
$sql=“从status='1'所在的表中选择id”;
$result=$conn->query($sql);
如果($result->num_rows>0){
回声“1个或多个””;
}否则{
回声“0”;
}
$conn->close();
我建议你使用准备好的陈述阅读更多关于准备好的陈述
您的代码看起来不错。只要尝试回显结果,就可以准确地知道显示了多少结果。我怀疑您的结果正在检索0个结果
请参阅W3教程
1st:如果query
执行失败
意味着它将返回简单的boolean
值false
,因此您无法从该boolean
值中获取num\u rows
下面的代码将帮助您
$sql = "SELECT id FROM table WHERE status='1' ";
if($result = $conn->query($sql))
{
if ($result->num_rows > 0)
{
echo "row count is :".$result->num_rows;
}
else
{
echo "query execution success but there is no match result ";
}
}
else
{
echo "query execution failed";
echo $conn->error;
}
注意:在查询中,您需要指定正确的表名
,而不是表关键字
"SELECT id FROM table_name WHERE status='1' "
我觉得很好。你的代码看起来很完美。在查询执行之后,您是否尝试了echo$result->num_rows
,$result=$conn->query($sql)代码>?是的,我给回声添加了颜色。我用绿色和$result->num_rows
内部id替换了1或更多的`行。我也用0
进行了替换。第二个回声的颜色是红色。如果结果为0,则得到绿色。当结果为1时,我也得到了绿色,在这里看不到任何错误。尝试清除浏览器缓存。是否显示您的表结构和数据?我正在使用mysqliThen首先尝试此操作,并告诉您得到的结果是什么print\r($result)代码>。
"SELECT id FROM table_name WHERE status='1' "