ฟังก์ชัน mysql_affected_rows() ของ PHP MySQL

การประกาศและการใช้งาน

ฟังก์ชัน mysql_affected_rows() ของ MySQL คืนจำนวนบันทึกที่ส่งผลจากการปฏิบัติการ MySQL ที่ผ่านมา

ภาษาคำสั่ง

mysql_affected_rows(link_identifier)
ตัวแปร คำอธิบาย
link_identifier จำเป็น หมายเลขการเชื่อมต่อ MySQL ของ MySQL ถ้าไม่ได้รับการกำหนด จะใช้การเชื่อมต่อที่เปิดที่สุด mysql_connect() การเชื่อมต่อที่เปิดอยู่。ถ้าไม่พบการเชื่อมต่อนี้ ฟังก์ชันจะพยายามเรียกใช้ mysql_connect() สร้างการเชื่อมต่อและใช้งานมัน。ถ้าเกิดเหตุที่ไม่คาดคิด ไม่พบการเชื่อมต่อหรือไม่สามารถสร้างการเชื่อมต่อได้ ระบบจะส่งข้อความเตือนระดับ E_WARNING

คำอธิบาย

ได้รับความเกี่ยวข้องกับ link_identifier จำนวนบันทึกที่ส่งผลจากคำสั่ง INSERT, UPDATE หรือ DELETE

คืนค่า

ถ้าปฏิบัติการสำเร็จ ก็จะคืนค่าจำนวนบันทึกที่ได้รับผลกระทบ และถ้าคำสั่งล่าสุดล้มเหลว ฟังก์ชันจะคืนค่า -1

ถ้าคำสั่ง DELETE ที่เร็วที่สุดไม่มีเงื่อนไข WHERE และลบบันทึกทั้งหมดในตาราง ฟังก์ชันนี้จะคืนค่า 0 ก่อน 4.1.2

เมื่อใช้คำสั่ง 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);
?>

Output:

Records deleted: 4