ฟังก์ชัน 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