เมื่อ sprintf มาเจอกับ LIKE ใน MySQL


$sql = sprintf("SELECT id FROM #__content WHERE `title` LIKE '%%s%'", $title);
ตรง %s ที่เราจะเอาไป sprintf มันถูกประกบด้วย % จาก statement ของ mysql
สิ่งที่ตามมาก็คือ Error จ้า เพราะมันไปอ่าน % ของ MySQL ด้วยซะงั้น

จริงๆ มันเป็นอะไรที่เส้นผมบังภูเขามากเลยนะ

$sql = sprintf("SELECT id FROM #__content WHERE `title` LIKE '%s'", "%".$title."%");
ย้ายมาไว้ข้างนอก แค่นี้เองจบ

Ref.
http://joshhighland.com/blog/2008/07/06/php-sprintf-sql-like/

Comments