|
|
|
สอบถาม ERROR Mysql ครับ ผมลองใน PHPMyadmin แล้ว ได้ แต่พอมาเขียน mysql_query() แล้ว มันฟ้อง error |
|
|
|
|
|
|
|
สอบถามครับ
ผมเขียน query มา ได้ 1 ชุด ตอนเขียน ใช้ ช่อง SQL ของ PHP MYADMIN เขียน ปรากฏว่าได้ข้อมูล ตามต้องการ
แต่เมื่อ นำ query ที่เขียน ไปใช้ ฟังก์ชั่น mysql_query() ของ php เรียกมาแสดงผล กลับ มีข้อความ บอกว่า
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0' at line 1
ทั้งๆที่ รัน query เดียวกัน ใน php myadmin กลับ เป็น ปกติ ไม่ มีฟ้อง วอนิ่ง หรือ เออเร่อ
อันนี้ code ที่ผมใช้ครับ ยามนิดนึง
Code (SQL)
SELECT n.title name, n.nid nid, id.field_id_value id, pr.commerce_price_amount price
,ft.field_time_value ti, tx.name expert
, MAX(case when MONTH( FROM_UNIXTIME(fsk.field_sketdu_time_value)) = 1 then
CONCAT(DAY( FROM_UNIXTIME(fsk.field_sketdu_time_value)) , " - ", DAY(FROM_UNIXTIME(fsk.field_sketdu_time_value2)) )else '' end)as Dayname01
FROM `node` n
INNER JOIN field_data_field_time ft ON ( n.nid = ft.revision_id )
INNER JOIN field_data_field_category fc ON ( fc.revision_id = n.nid )
INNER JOIN field_data_field_id id ON ( id.revision_id = n.nid )
INNER JOIN field_revision_field_register fr ON ( n.nid = fr.entity_id )
INNER JOIN commerce_product pro ON ( pro.product_id = fr.field_register_product_id )
INNER JOIN field_data_field_sketdu_time fsk ON ( fsk.revision_id = pro.revision_id )
INNER JOIN field_data_commerce_price pr ON ( pro.revision_id = pr.revision_id )
INNER JOIN field_data_field_expert ep ON ( ep.revision_id = pr.revision_id )
INNER JOIN taxonomy_term_data tx ON ( ep.field_expert_tid = tx.tid )
INNER JOIN field_data_field_location lt ON ( ep.revision_id = lt.revision_id )
INNER JOIN taxonomy_term_data tx2 ON ( lt.field_location_tid = tx2.tid )
WHERE n.type = 'product_display'
AND fc.field_category_tid = '4'
GROUP BY n.title , n.nid , id.field_id_value , pr.commerce_price_amount ,ft.field_time_value , tx.name
ORDER BY field_id_value ASC
ฝาดด้วยนะครับ ความจริง มันยาวกว่านี้ ครับ ตรง Dayname01 มันมีถึง Dayname12 แต่ ผมตัด ออก เพราะ เป็น ชุดคำสั่งเดียวกัน
Tag : PHP, MySQL, HTML/CSS, Windows, Web Service
|
|
|
|
|
|
Date :
2013-06-21 17:59:19 |
By :
junctionaof |
View :
694 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยามนิดนึง = ยาวนิดนึง
ฝาดด้วยนะครับ = ฝากด้วยนะครับ
รีบไป คำผิดเพียบ ขอโทษด้วยครับผม
|
|
|
|
|
Date :
2013-06-21 18:02:15 |
By :
junctionaof |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเปลี่ยนจากการใช้ฟันหนูครอบคำสั่งเป็น hreredoc ดูครับ
Code (PHP)
$sql = <<<SQL
SELECT n.title name, n.nid nid, id.field_id_value id, pr.commerce_price_amount price
,ft.field_time_value ti, tx.name expert
, MAX(case when MONTH( FROM_UNIXTIME(fsk.field_sketdu_time_value)) = 1 then
CONCAT(DAY( FROM_UNIXTIME(fsk.field_sketdu_time_value)) , " - ", DAY(FROM_UNIXTIME(fsk.field_sketdu_time_value2)) )else '' end)as Dayname01
FROM `node` n
INNER JOIN field_data_field_time ft ON ( n.nid = ft.revision_id )
INNER JOIN field_data_field_category fc ON ( fc.revision_id = n.nid )
INNER JOIN field_data_field_id id ON ( id.revision_id = n.nid )
INNER JOIN field_revision_field_register fr ON ( n.nid = fr.entity_id )
INNER JOIN commerce_product pro ON ( pro.product_id = fr.field_register_product_id )
INNER JOIN field_data_field_sketdu_time fsk ON ( fsk.revision_id = pro.revision_id )
INNER JOIN field_data_commerce_price pr ON ( pro.revision_id = pr.revision_id )
INNER JOIN field_data_field_expert ep ON ( ep.revision_id = pr.revision_id )
INNER JOIN taxonomy_term_data tx ON ( ep.field_expert_tid = tx.tid )
INNER JOIN field_data_field_location lt ON ( ep.revision_id = lt.revision_id )
INNER JOIN taxonomy_term_data tx2 ON ( lt.field_location_tid = tx2.tid )
WHERE n.type = 'product_display'
AND fc.field_category_tid = '4'
GROUP BY n.title , n.nid , id.field_id_value , pr.commerce_price_amount ,ft.field_time_value , tx.name
ORDER BY field_id_value ASC
SQL;
|
|
|
|
|
Date :
2013-06-21 18:02:55 |
By :
itpcc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ได้แล้วครับ ตรง
Code (SQL)
, MAX(case when MONTH( FROM_UNIXTIME(fsk.field_sketdu_time_value)) = 1 then
05.
CONCAT(DAY( FROM_UNIXTIME(fsk.field_sketdu_time_value)) , " - ", DAY(FROM_UNIXTIME(fsk.field_sketdu_time_value2)) )else '' end)as Dayname01
เปลี่ยนเป็น
Code (SQL)
, MAX(case when MONTH( FROM_UNIXTIME(fsk.field_sketdu_time_value)) = 1 then
05.
CONCAT(DAY( FROM_UNIXTIME(fsk.field_sketdu_time_value)) , ' - ', DAY(FROM_UNIXTIME(fsk.field_sketdu_time_value2)) )else '' end)as Dayname01
|
|
|
|
|
Date :
2013-07-03 11:20:02 |
By :
junctionaof |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|