ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์CMS & Free Script[PHP] ช่วยดูโค้ดให้หน่อยครับ query ไม่ได้ +1
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [PHP] ช่วยดูโค้ดให้หน่อยครับ query ไม่ได้ +1  (อ่าน 2265 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
peetnawapol
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 57
ออฟไลน์ ออฟไลน์

กระทู้: 1,292



ดูรายละเอียด
« เมื่อ: 31 ธันวาคม 2015, 04:02:33 »

[quote
]<?php $cateSQL = $conn->query("SELECT categories.cname, post.pid, post.pname FROM categories INNER JOIN post WHERE categories.cid=post.cid AND categories.cid=$_REQUEST[cid]");
      $row=$cateSQL->fetch_assoc(); ?>
[/quote]
ขึ้นเออเร่อว่า Fatal error: Call to a member function fetch_assoc() on a non-object in ..... on line 2
ขอบคุณครับ  wanwan017
บันทึกการเข้า
SEnzoP
ก๊วนเสียว
*

พลังน้ำใจ: 47
ออฟไลน์ ออฟไลน์

กระทู้: 456



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 31 ธันวาคม 2015, 07:59:49 »

ปกติควรจะเป็น
$cateSQL->fetch(PDO::FETCH_ASSOC);
หรือ
$cateSQL->fetchAll(PDO::FETCH_ASSOC);
นะครับ
บันทึกการเข้า

TeraBox for Webmaster สร้างรายได้จากการแชร์ไฟล์ มีแพลนให้เลือกหลายแบบ
peetnawapol
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 57
ออฟไลน์ ออฟไลน์

กระทู้: 1,292



ดูรายละเอียด
« ตอบ #2 เมื่อ: 31 ธันวาคม 2015, 10:41:38 »

ทีแรกได้แล้วแต่ตอนนี้เป็นอีกแล้วครับ  Cry
บันทึกการเข้า
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 493
ออฟไลน์ ออฟไลน์

กระทู้: 5,905



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 31 ธันวาคม 2015, 14:39:16 »

INNER JOIN post WHERE เปลี่ยนเป็น INNER JOIN post ON ครับ

ดู Syntax ลิงก์นี้ครับ
http://www.w3schools.com/sql/sql_join_inner.asp
บันทึกการเข้า

peetnawapol
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 57
ออฟไลน์ ออฟไลน์

กระทู้: 1,292



ดูรายละเอียด
« ตอบ #4 เมื่อ: 31 ธันวาคม 2015, 20:11:17 »

INNER JOIN post WHERE เปลี่ยนเป็น INNER JOIN post ON ครับ

ดู Syntax ลิงก์นี้ครับ
http://www.w3schools.com/sql/sql_join_inner.asp

ยังไม่ได้อยู่ดีครับ Fatal error: Call to a member function fetch() on a non-object in.... on line 2
บันทึกการเข้า
sputtaro
สมุนแก๊งเสียว
*

พลังน้ำใจ: 139
ออฟไลน์ ออฟไลน์

กระทู้: 910



ดูรายละเอียด
« ตอบ #5 เมื่อ: 31 ธันวาคม 2015, 20:37:03 »

Fatal error: Call to a member function fetch() on a non-objec
มักจะเกิดจาก คำสั่ง $conn->query ไม่ถูกต้อง เช่น
เว้นวรรค พยัญชนะ อักขระ ต่างๆ
รวมทั้ง ค่าในฟิลด์ ไม่มีอยู่จริง หรือ อาจไม่ได้รับค่าใดๆ ที่ถูกอ้างอิง

ลองหาวิธี
echo query มาดูก่อน ว่าก่อนส่งเข้าไปนั้น เขียนไว้ยังไง
รวมทั้งอาจทดสอบ โดยการเริ่มจาก select หรือ where แค่ฟิลด์เดียวก่อน แล้วค่อยๆเพิ่ม เพื่อดูว่าตรงไหนที่เป็นต้นเหตุ
หรือแม้กระทั่ง query ไม่ได้รับค่า $_REQUEST[cid] ก็เป็นได้

หวังว่าจะพอช่วยได้นะครับ

*******************
ขออภัยครับ
ตกหล่น
ดูบันทัดที่ 2 .... on line 2 
ด้วยนะครับ
« แก้ไขครั้งสุดท้าย: 31 ธันวาคม 2015, 20:49:32 โดย sputtaro » บันทึกการเข้า
numau109
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 165
ออฟไลน์ ออฟไลน์

กระทู้: 2,160



ดูรายละเอียด
« ตอบ #6 เมื่อ: 01 มกราคม 2016, 00:21:24 »

SELECT categories.cname, post.pid, post.pname FROM categories INNER JOIN post ON categories.cid=post.cid  WHERE categories.cid= {$_REQUEST[cid]} ;
บันทึกการเข้า

peetnawapol
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 57
ออฟไลน์ ออฟไลน์

กระทู้: 1,292



ดูรายละเอียด
« ตอบ #7 เมื่อ: 01 มกราคม 2016, 03:27:37 »

อ้างถึง
<?php
      $catSQL=mysqli_query($conn, "SELECT category.cname, post.pid, post.pname FROM category INNER JOIN post ON category.cid=post.cid AND category.cid={$_REQUEST[cid]}");
      $cgrow=$catSQL->fetch_assoc(); ?>
ลองเปลี่ยนรูปแบบดูแล้วก็ยังไม่ได้ครับ  Cry
บันทึกการเข้า
nscyber
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 50
ออฟไลน์ ออฟไลน์

กระทู้: 1,165



ดูรายละเอียด
« ตอบ #8 เมื่อ: 01 มกราคม 2016, 20:47:50 »

ถ้าเล่น PDO ผมแนะนำเป็นแบบ

โค๊ด:
$cateSQL->fetch(); //ดึงมาข้อมูลเดียวที่เลือก 
หรือ
โค๊ด:
$cateSQL->fetchALL();//ดึงมาทั้งหมด 

ดีกว่าครับ หรือจะเขียนแบบที่คุณ SEnzoP บอกครับ เพราะ PDO จะเรียก assoc ไม่เหมือนเดิมครับ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์