دالة mysql_affected_rows() في PHP mysql
التعريف والاستخدام
يعود دالة mysql_affected_rows() عدد السجلات المتأثرة من العمليات الأخيرة بـ MySQL.
النحو
mysql_affected_rows(link_identifier)
المعدلات | وصف |
---|---|
link_identifier | مطلوب. معرف الاتصال بـ MySQL. إذا لم يتم تحديده، سيتم استخدام الأخير المحدد. mysql_connect() الاتصالات المفتوحة. إذا لم يتم العثور على هذا الاتصال، سيحاول الدالة mysql_connect() إنشاء اتصال واستخدامه. إذا حدث خطأ، لن يتم العثور على الاتصال أو لا يمكن إنشاؤه، فإن النظام يرسل رسالة تحذير على مستوى E_WARNING. |
شرح
الحصول على المرة الأخيرة مع link_identifier عدد السجلات المتأثرة من الاستعلامات INSERT،UPDATE أو DELETE.
返回值
执行成功,则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1。
如果最近一次操作是没有任何条件(WHERE)的 DELETE 查询,在表中所有的记录都会被删除,但本函数返回值在 4.1.2 版之前都为 0。
当使用 UPDATE 查询,MySQL 不会将原值与新值一样的列更新。这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数,只有真正被修改的记录数才会被返回。
REPLACE 语句首先删除具有相同主键的记录,然后插入一个新记录。该函数返回的是被删除的记录数加上被插入的记录数。
实例
<?php $con = mysql_connect("localhost","mysql_user","mysql_pwd"); if (!$con) { die("Could not connect: " . mysql_error()); } mysql_select_db("mydb"); mysql_query("DELETE FROM mytable WHERE id < 5"); $rc = mysql_affected_rows(); echo "Records deleted: " . $rc; mysql_close($con); ?>
输出:
Records deleted: 4