PHP mysql_affected_rows() 函数

定义和用法

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("کانکت کئے نہیں جاسکتا: " . mysql_error());
  }
mysql_select_db("mydb");
mysql_query("DELETE FROM mytable WHERE id < 5");
$rc = mysql_affected_rows();;
echo "ریکارڈس حذف کئے گئے: " . $rc;
mysql_close($con);
?>

آؤٹ پت:

ریکارڈس حذف کئے گئے: 4