ช่วยดูหน่อยครับ error

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

Boattysung
PHP Jr. Member
PHP Jr. Member
โพสต์: 13
ลงทะเบียนเมื่อ: 28/07/2008 12:31 am

Re: ช่วยดูหน่อยครับ error

โพสต์ที่ยังไม่ได้อ่าน โดย Boattysung »

$result = mysql_query($sql) or die(mysql_error());
ใส่ไปแล้วมันแจ้งตามข้างล่างนี้ครับ

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\car\car_list.php on line 34

ถามนิดนึงครับ ว่าในกรณีที่ผมทำเนี้ยมันสามารถอัพเดทได้ทีละฟิลด์ หรือว่าอัพเดทได้หลายๆฟิลด์ในครั้งเดียวครับ
ตอนนี้อาการที่เกิดคือ ต้อง refresh แล้วมันจะทำการอัพเดทให้ทีละข้อมูล แล้วก็แจ้ง
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\car\car_list.php on line 34
จนอัพเดทหมดแล้วจะไม่ขึ้น error ครับ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41364
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ช่วยดูหน่อยครับ error

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

คุณรัน คำสั่ง sql 2 ครั้ง
ครั้ง แรกเพื่อดึงข้อมูล มาใช้ sql select จะได้ result เพื่อ fetch ค่าใส่ตัวแปล array ได้ แต่ ถ้า error ดังกล่าว แสดงว่า คำสั่ง sql นั้น รันแล้วไม่ได้ผล
ผมจึงแนะนำให้ใช้
$result = mysql_query($sql) or die(mysql_error());
เพื่อดัก error ก่อนที่จะเอา ตัวแปล $result ไป fetch ค่า

ครั้งที่ สอง คุณรัน คำสั่ง sql เพื่อ Update คุณถามว่า มันจะอัพเดดได้ กี่ field
คำตอบคือ field เดี่ยว
แต่อาจจะหลาย row ได้ ขึ้นอยู่กับ id_car
update car_info set status_car='4' where id_car='$id_car'
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
Boattysung
PHP Jr. Member
PHP Jr. Member
โพสต์: 13
ลงทะเบียนเมื่อ: 28/07/2008 12:31 am

Re: ช่วยดูหน่อยครับ error

โพสต์ที่ยังไม่ได้อ่าน โดย Boattysung »

mindphp เขียน:คุณรัน คำสั่ง sql 2 ครั้ง
ครั้ง แรกเพื่อดึงข้อมูล มาใช้ sql select จะได้ result เพื่อ fetch ค่าใส่ตัวแปล array ได้ แต่ ถ้า error ดังกล่าว แสดงว่า คำสั่ง sql นั้น รันแล้วไม่ได้ผล
ผมจึงแนะนำให้ใช้
$result = mysql_query($sql) or die(mysql_error());
เพื่อดัก error ก่อนที่จะเอา ตัวแปล $result ไป fetch ค่า

ครั้งที่ สอง คุณรัน คำสั่ง sql เพื่อ Update คุณถามว่า มันจะอัพเดดได้ กี่ field
คำตอบคือ field เดี่ยว
แต่อาจจะหลาย row ได้ ขึ้นอยู่กับ id_car
update car_info set status_car='4' where id_car='$id_car'
ผมแก้ตามที่แนะนำแล้วครับ มันขึ้น error เหมือนเดิมน่ะครับ
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\car\car_list.php on line 34
แต่ว่ามันอัพเดทให้ทีละแถวน่ะครับ โดยต้องกด refresh เอา มันไม่ยอมอัพเดททีเดียวหลายๆแถว

<?
$sql = "SELECT * FROM car_info WHERE status_car=1 ORDER BY id_car DESC ";
$result = mysql_query($sql) or die(mysql_error());
while ($r=mysql_fetch_array ($result)) {
$id_car=$r[id_car];
$date_over=strtotime($r[date_over]);
$date_today=strtotime(date("Y-m-d"));

if($date_over<=$date_today){
$sql="update car_info set status_car='4' where id_car='$id_car' ";
$result = mysql_query($sql) or die(mysql_error()); ;
}
}
?>
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41364
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ช่วยดูหน่อยครับ error

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

สิ่งที่คุณผิดคือ
รันคำสั่ง sql ครั้งที่ สอง เพื่อ update คุณไม่จำเป็นต้อง เอา $result มารับค่า
ให้ใช้แค่ mysql_query($sql) or die(mysql_error()); ก็พอครับ

มัน Error เพราะ เมื่อวน Loop มันจะเอา result จากคำสั่ง Update ไปใช้ ซึ่งใช้ไม่ได้ เพราะ result จากคำสั่ง update เอาไป fetch ไม่ได้
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
Boattysung
PHP Jr. Member
PHP Jr. Member
โพสต์: 13
ลงทะเบียนเมื่อ: 28/07/2008 12:31 am

Re: ช่วยดูหน่อยครับ error

โพสต์ที่ยังไม่ได้อ่าน โดย Boattysung »

mindphp เขียน:สิ่งที่คุณผิดคือ
รันคำสั่ง sql ครั้งที่ สอง เพื่อ update คุณไม่จำเป็นต้อง เอา $result มารับค่า
ให้ใช้แค่ mysql_query($sql) or die(mysql_error()); ก็พอครับ

มัน Error เพราะ เมื่อวน Loop มันจะเอา result จากคำสั่ง Update ไปใช้ ซึ่งใช้ไม่ได้ เพราะ result จากคำสั่ง update เอาไป fetch ไม่ได้
สุดยอดเลยครับ เส้นผมบังภูเขาแท้ๆ
ขอบคุณมากๆเลยครับ
บุคคลทั่วไป

Re: ช่วยดูหน่อยครับ error

โพสต์ที่ยังไม่ได้อ่าน โดย บุคคลทั่วไป »

ใช้ mysqli แก้แบบนี้ได้มั๊ย
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: eange08, Google Adsense [Bot] และบุคลทั่วไป 138