警告:mysql_num_rows():提供的参数在第21行不是有效的mysql结果资源
下面是我的代码,我试着用var_转储调试它。。var_dump($insertion)返回through,这意味着查询将插入到数据库中,但出于某种原因,当我想查看mysql_num_行是否正在执行其任务时,我会收到警告消息,它返回FALSE,并带有标题的警告消息。。下面是我的简短直接代码警告:mysql_num_rows():提供的参数在第21行不是有效的mysql结果资源,mysql,sql,php-5.2,Mysql,Sql,Php 5.2,下面是我的代码,我试着用var_转储调试它。。var_dump($insertion)返回through,这意味着查询将插入到数据库中,但出于某种原因,当我想查看mysql_num_行是否正在执行其任务时,我会收到警告消息,它返回FALSE,并带有标题的警告消息。。下面是我的简短直接代码 <?php require'sensdb.php'; if (sensdb_connect()) { $select = "SELECT SubGroupID from STx WHERE Grou
<?php
require'sensdb.php';
if (sensdb_connect()) {
$select = "SELECT SubGroupID from STx WHERE GroupID = '39'AND Status ='Provisioned'";
$result = mysql_query($select);
$result_count = mysql_num_rows($result);
if($result_count > 0)
{
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
if($row['SubGroupID'] != 123) {
$insert = "INSERT INTO Routes (SubGroupID,GroupID,URL) VALUES (".$row['SubGroupID'].",39,'mailto://e2pressure@gmail.com')";
$insertion = mysql_query($insert);
$insertion_count = mysql_num_rows($insertion); var_dump($insertion_count);
$select_route_id = "SELECT RouteID FROM Routes WHERE SubGroupID =".$row['SubGroupID']." AND GroupID = 39";
$result_route_id = mysql_query($select_route_id);
$result_route_count = mysql_num_rows($result_route_id);
if($insertion_count > 0 ) {
if($result_route_count > 0) {
$row_route = mysql_fetch_array($result_route_id,MYSQL_ASSOC);
$update = "UPDATE STx SET RouteID =".$row_route['RouteID']." WHERE SubGroupID =".$row['SubGroupID']."";
var_dump($update);
}
}
}
}
}
}
PHP文档中的:
从结果集中检索行数。此命令仅对返回实际结果集的SELECT或SHOW等语句有效。要检索受INSERT、UPDATE、REPLACE或DELETE查询影响的行数,请使用mysql\u impacted\u rows()
此外,您应该真正使用PDO(或类似的工具)。您的查询中有一个错误。您需要进行适当的错误检查,以便捕获此类问题并对其进行调试@佩卡웃 他的SQL中可能有错误,但这不是原因。错误所指的查询似乎是一个SELECT查询,不过?不管怎样,我应该使用受影响的行函数