PHP中mysql_num_rows() 函数问题!!!

<?php
session_start();
include "conn.php";
include "session.php";
?>
<?php
$judges_id=$_SESSION['userid'];
$contestant_id=$_POST['contestant_id'];
$contestant_name=$_POST['contestant_name'];
$lastscore=$_POST['total'];
$score_array=$_POST['score_array'];
$query="INSERT INTO connect (judges_id,contestant_id,score_array,lastscore) VALUES ('$judges_id','$contestant_id','$score_array','$lastscore')";
$result=mysql_query($query);
$num=mysql_num_rows($result);
if($num>0){
echo "<script type='text/javascript'>alert('您已经成功为选手".$contestant_name."!');history.go(-1)</script>";
}else{
echo "<script type='text/javascript'>alert('评分错误!');history.go(-1)</script>";
}
?>

每次显示Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in E:\Local Test\xampp\htdocs\ss\update_score.php on line 14

$query="INSERT INTO connect (judges_id,contestant_id,score_array,lastscore) VALUES ('$judges_id','$contestant_id','$score_array','$lastscore')";
$result=mysql_query($query);
$num=mysql_num_rows($result);

$result 所赋的值应该是插入数据....
你这里用的MYSQL_NUM_ROWS是查询数据库里有多少条,所以$result 所赋的值应该是一条查询语句.select * from contestant;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-23
mysql_query返回的就是影响的行数。你应该$num=mysql_query($query);追问

php5中文文档中有这样一个例子

这又是怎么会事呢?

追答

不一样的,select返回的是查询结果的行数集合。
定义和用法
mysql_num_rows() 函数返回结果集中行的数目。
insert应该用影响的行数。
说明
mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows()。

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网