update & delete影响行数,select 返回行数
<?php /** 燕十八 公益PHP培训 课堂地址:YY频道88354001 学习社区:www.zixue.it **/ /* PHP 操作 mysql的其他几个常用函数 */ $conn = mysql_connect('localhost','root','111111'); if(!$conn) { echo '连接数据库失败'; exit; } // 选库 $sql = 'use test'; mysql_query($sql,$conn); $id = isset($_GET['id']) ? $_GET['id'] + 0 :0; // 接收id后,我准备删除数据 $sql = 'delete from stu where id=' . $id; $rs = mysql_query($sql,$conn); if($rs) { echo '删掉了一行数据<br />'; } else { echo '删数据失败<br />'; } /* 严重注意: 对于增/删/改 来说,返回值 都是true/false2种情况 其中:insert,返回true,数据肯定是插入成功了. 对于update/delete ,即修改/删除来说 返回为真,代表:这个sql的语法没有问题,执行成功了. 是从语法角度/执行角度来说的. 但是,未必这个语句能影响到数据,比如你的条件不对. 所以,要想真正判断有没有删/改数据,得以实际影响的行数为准 那么,在执行delete/update后,如果获取受影响行数? 答:用函数 mysql_affected_rows */ /* mysql_affected_rows : 在执行delete/update后立即调用此函数, 可得到delete/update语句影响的行数. */ $cnt = mysql_affected_rows($conn); if($cnt) { echo '删掉了',$cnt,'行数据'; } else { echo '没有数据被删掉'; } // 继承来看,还剩下多少条数据 echo '<br />'; $sql = 'select * from stu'; $rs = mysql_query($sql,$conn); /** // 这是笨办法,循环一遍 // 有现在函数可以用 $num = 0; while(mysql_fetch_assoc($rs)) { $num++; } **/ /* mysql_num_rows , 返回 select 语句的结果行数 在运行select 之后,立即调用mysql_num_rows 可以得到这次select的行数 */ $num = mysql_num_rows($rs); echo '还剩下',$num,'条数据'; ?>