Php mysql_num_rows()函数未按预期工作

Php mysql_num_rows()函数未按预期工作,php,ajax,Php,Ajax,我的表中有5条记录,但是if循环没有运行&抛出一个 警告:mysql_num_rows()希望参数1是资源, 第20行C:\xampp\htdocs\Crud\select.php中给出的布尔值 我应该做哪些可能的更改来消除错误 $link=mysql_connect("localhost","root",""); $output=''; $sql="SELECT *FROM detail ORDER BY id DESC"; $result=mysql_query($sql); $outpu

我的表中有5条记录,但是if循环没有运行&抛出一个

警告:mysql_num_rows()希望参数1是资源, 第20行C:\xampp\htdocs\Crud\select.php中给出的布尔值

我应该做哪些可能的更改来消除错误

$link=mysql_connect("localhost","root","");

$output='';
$sql="SELECT *FROM detail ORDER BY id DESC";
$result=mysql_query($sql);
$output .='

<div align="center">
<table border=5 width=500>
<tr>
<th width="40%">ID</th>
<th width="40%"> First Name</th>
<th width="40%"> Last Name</th>
</tr>';



if(mysql_num_rows($result)>0)

{
    while($row=mysql_fetch_array($result))
    {
    $output .='
    <tr>
    <td>'.$row["id"].'</td>
    <td class="name" data-id1"'.$row["id"].'" contenteditedtable>'.$row["name"].'</td>
    <td class="lname" data-id2"'.$row["id"].'" contenteditedtable>'.$row["lname"].'</td>
    <td>button type="button" name="delete_btn" data-id3="'.$row["id"].'" id="delete">Delete</button></td>
    </tr>';
    }

    $output .='
    <tr>
    <td></td>
    <td id="name" contenteditedtable></td>
    <td id="lname" contenteditedtable></td>

    <td><button type="button" name="add">Add</button></td>
    </tr>';

    }
    $output .='</table>
    </div>';
    echo $output;
$link=mysql\u connect(“本地主机”、“根目录”、“根目录”);
$output='';
$sql=“按id描述从明细订单中选择*”;
$result=mysql\u查询($sql);
$output.='
身份证件
名字
姓
';
如果(mysql_num_rows($result)>0)
{
while($row=mysql\u fetch\u数组($result))
{
$output.='
“.$row[“id”]”
“.$row[“name”]”
“.$row[“lname”]”
button type=“button”name=“delete_btn”data-id3=“”.$row[“id”]”。“id=“delete”>删除
';
}
$output.='
添加
';
}
$output.='
';
echo$输出;

您的实际问题是SQL查询失败

$sql="SELECT *FROM detail ORDER BY id DESC";
在*和FROM之间需要一个空格

$sql="SELECT * FROM detail ORDER BY id DESC";
你可能会有其他问题,但这就是现在正在发生的事情。由于您的SQL查询失败,因此它返回的布尔值在本例中为false

同样正如我在上面的评论中提到的,
mysql\u impacted\u rows
不用于select语句,下面是文档的摘录

获取上次插入、更新、替换或删除查询受影响的行数

您实际想要使用的函数是
mysql\u num\u rows

从结果集中检索行数。此命令仅对返回实际结果集的SELECT或SHOW等语句有效


此处缺少数据库连接,因此产生了问题

mysql_select_db(database_name,connection);

上面的代码解决了问题

select语句中没有受影响的行。很抱歉,问题中有错误,可能是重复的。它的mysql\u num\u行导致错误,而不是mysql\u影响的\u行。我已经做了改变。请检查我的回答的前半部分。是的,我尝试了*和from之间的空格…它不起作用。如果您仍然收到错误,那么您的语句会有更多问题(即未选择数据库,表详细信息不存在,详细信息上的id列不存在)。运行
$result=mysql\u query($sql)后获取
mysql\u error()的输出,它将为您提供有关失败原因的更详细信息。