mysql_num_rows()期望参数1是资源,给定数组

时间:2013-12-18 10:27:05

标签: php

嗨,我一直在努力解决这个问题

我需要获取插入到我的数据库表中的行数,但我不断得到这个错误,我似乎无法摆脱。

$result3=mysql_query("INSERT INTO dest_table.create_info SELECT * from 
Profusion.source_cdr");
$num_rows = array($result3);
$progress=mysql_num_rows($num_rows);
echo $progress;

我得到的错误是

mysql_num_rows()期望参数1是资源,给定数组

如果我得到解决,我们将非常感激

2 个答案:

答案 0 :(得分:0)

您必须传递资源而不是数组。

$result3=mysql_query("INSERT INTO dest_table.create_info SELECT * from 
Profusion.source_cdr");
$progress=mysql_num_rows($result3);
echo $progress;

但是由于你使用INSERT,你应该阅读手册并使用mysql_affected_rows(),因为mysql_num_rows()仅适用于SELECT和SHOW。

http://www.php.net/manual/de/function.mysql-affected-rows.php

$result3=mysql_query("INSERT INTO dest_table.create_info SELECT * from 
Profusion.source_cdr");
$progress=mysql_affected_rows();
echo $progress;

答案 1 :(得分:0)

使用INSERT语句时,mysql_query()不会返回数组。成功时返回true或失败时返回false。使用mysql_affected_rows()

例如:

mysql_query("INSERT INTO table (field1,field2) VALUES ('foo', 'bar')");
$num_affected_rows = mysql_affected_rows();

echo $num_affected_rows;

//output: 1