Q - สอบถามวิธี SELECT ข้อมูล ที่มีเครื่องหมาย (') single quote ได้อย่างไรครับ

เกี่ยวกับ ปัญหาการใช้งาน การติดตั้ง ฐานข้อมูล MySql Oracle MSSQL ect...
การเขียน คำสั่ง SQL เพื่อดึกข้อมูล บอร์ดนี้ควรระบุโครงสร้างตารางของท่านในคำถามด้วยนะ

Moderator: mindphp

tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

Q - สอบถามวิธี SELECT ข้อมูล ที่มีเครื่องหมาย (') single quote ได้อย่างไรครับ

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

ตอนนี้ผมต้องการ SELECT ข้อมูลใน ตารางชื่อ product ฟิวด์ชื่อ name ยกตัวอย่างที่ผมต้องการ SELECT คือ test'

ผมใช้ code นี้ SELECT แล้ว EROR เลยอยากทราบว่ามีวิธี SELECT ข้อมูลที่มี single quote อย่างไรครับ

โค้ด: เลือกทั้งหมด

SELECT COUNT(*)
FROM product
WHERE name LIKE '%test'%';
ผลลัพท์
ERROR: unterminated quoted string at or near "'"
LINE 4: WHERE name LIKE '%test'%'


********** Error **********

ERROR: unterminated quoted string at or near "'"
SQL state: 42601
Character: 131
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: Q - สอบถามวิธี SELECT ข้อมูล ที่มีเครื่องหมาย (') single quote ได้อย่างไรครับ

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

SELECT name
FROM product
WHERE name LIKE '%test%';

ปกติ เเล้ว เอามาหาด้วย python ข้างนอกอีกทีได้ป่าว พร้อมกับนับจำนวนว่ามีกีอัน
tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

Re: Q - สอบถามวิธี SELECT ข้อมูล ที่มีเครื่องหมาย (') single quote ได้อย่างไรครับ

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

thatsawan เขียน:SELECT name
FROM product
WHERE name LIKE '%test%';

ปกติ เเล้ว เอามาหาด้วย python ข้างนอกอีกทีได้ป่าว พร้อมกับนับจำนวนว่ามีกีอัน
เดี๋ยวลองดูครับ
tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

Re: Q - สอบถามวิธี SELECT ข้อมูล ที่มีเครื่องหมาย (') single quote ได้อย่างไรครับ

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

thatsawan เขียน:SELECT name
FROM product
WHERE name LIKE '%test%';

ปกติ เเล้ว เอามาหาด้วย python ข้างนอกอีกทีได้ป่าว พร้อมกับนับจำนวนว่ามีกีอัน
แล้วสมมุตว่า ผมมีข้อมูล test' d testby แล้วผทนำมาจัดการด้วย python โดยใช้โค้ด

โค้ด: เลือกทั้งหมด

a = "test' d testby".replace("'", "")
print(a)
 
ผลลัพท์คือ
test d testby

แล้วค่อยเอาเข้า sql

โค้ด: เลือกทั้งหมด

SELECT COUNT(*)
FROM product
WHERE name LIKE '%test d testby'%';
ผลลัพท์คือ ศูนย์
tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

Re: Q - สอบถามวิธี SELECT ข้อมูล ที่มีเครื่องหมาย (') single quote ได้อย่างไรครับ

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

tatiya เขียน:
thatsawan เขียน:SELECT name
FROM product
WHERE name LIKE '%test%';

ปกติ เเล้ว เอามาหาด้วย python ข้างนอกอีกทีได้ป่าว พร้อมกับนับจำนวนว่ามีกีอัน
แล้วสมมุตว่า ผมมีข้อมูล test' d testby แล้วผทนำมาจัดการด้วย python โดยใช้โค้ด

โค้ด: เลือกทั้งหมด

a = "test' d testby".replace("'", "")
print(a)
ผลลัพท์คือ
test d testby

แล้วค่อยเอาเข้า sql

โค้ด: เลือกทั้งหมด

SELECT COUNT(*)
FROM product
WHERE name LIKE '%test d testby'%';
ผลลัพท์คือ 0
แก้ได้โดยให้ python เชค (') แล้วให้แทนที่ด้วย ('')

โค้ด: เลือกทั้งหมด

a = "test' d testby".replace("'", "''")
print(a)
 
Code sql จะเป็นประมาณนี้

โค้ด: เลือกทั้งหมด

SELECT COUNT(*)
FROM product_product as p_p
LEFT JOIN product_template as p_t ON p_p.id = p_t.id
WHERE name_template LIKE '%test''%'
 
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

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