谁能告诉我这里做错了什么?这段代码没有回应任何东西。 我希望在$tag
字段中看到包含urlslug
的行数。
<?php
$query = mysqli_query($mysqli, "SELECT * FROM tags WHERE urlslug='$tag'");
$num_rows = mysql_num_rows($query);
echo $num_rows;
谢谢! :)
答案 0 :(得分:5)
您正在使用mysqli_query
功能,但之后您拥有deprecated mysql_num_rows
功能。请改为mysqli_num_rows。
答案 1 :(得分:2)
选择表中的所有内容,计算它,然后再将其丢弃,效率不高。您应该使用MySQL COUNT
函数来计算行数:
$result = mysqli_query($mysqli, "SELECT COUNT(*) as numRows FROM tags WHERE urlslug='$tag'");
$data = mysqli_fetch_array($result);
var_dump($data);
答案 2 :(得分:1)
试试这个
mysqli_num_rows($查询)
答案 3 :(得分:0)
试试这个
<?php
$query = mysqli_query($mysqli, "SELECT * FROM tags WHERE urlslug='$tag'");
$num_rows = mysqli_num_rows($mysqli,$query);
echo $num_rows;
?>
答案 4 :(得分:0)
我和@Sverri M. Olsen的回答Number of rows in a MySQL table?:
当你COUNT(*)
计入列索引时,它将是最好的结果。带有MyISAM引擎的Mysql实际上存储行数,每次尝试计算所有行时都不计算所有行。 (基于主键的列)
如果COUNT(*)
速度很慢,您应该对查询运行EXPLAIN
,并检查是否真正使用了索引,以及它们应该添加到何处。
和+1
答案 5 :(得分:-2)
试试这个
$query = mysqli_query($mysqli, "SELECT * FROM tags WHERE urlslug='".$tag."'");
$num_rows = mysqli_num_rows($query);
echo $num_rows;