Single Quote SQL Query Insert update แก้ปัญหาเวลาข้อมูลที่มีเครื่องหมายฟันเดี่ยว (single quote) แล้วไม่ได้ ไม่ผ่าน

Single Quote SQL Query Insert update แก้ปัญหาเวลาข้อมูลที่มีเครื่องหมายฟันเดี่ยว (single quote) แล้วไม่ได้ ไม่ผ่าน

PHP CODE FATHER โปรแกรมช่วยสร้างโค้ด โปรเจ็ค PHP+MySQL+Boostrap ใช้งานง่าย ๆ


สำหรับนักพัฒนาระบบด้วย php หรือภาษาใด ๆ
รับรองว่าต้องเจอกับปัญหานี้อย่างเลียกเลี่ยงไม่ได้
เพราะบางทีข้อมูลที่เราจะเพิ่มเข้าไปยังฐานข้อมูลนั้น มันจะมีเครื่องหมาย "ต้องห้าม" อยู่บ่อย ๆ

ตัวอย่าง [php] $name="I'm you.";
$sql="Insert into DB Set name='".$name."' ";
mysql_query($sql);
[/php]
ตามตัวอย่างข้างต้น จะเห็นว่าในชื่อ จะมีเครื่องหมายฟังเดี่ยวอยู่ด้วย ซึ่งเวลาจะเพิ่มค่าเข้าไปในฐานข้อมูล
จะทำให้ไม่สามารถเพิ่มเข้าไปได้ เนื่องจากเครื่องหมายฟันเดี่ยวที่ว่านี้มันจะทำให้ระบบเข้าใจผิดและทำงานผิิดพลาด
ประมาณว่า name='I'(อันนี้เป็นค่าที่ระบบมองเห็น ตามด้วย)m you.'

บางคนที่ยังไม่รู้ว่ามีฟังก์ชั่นสำเสร็จรูปให้ใช้ ก็อาจจะใช้คำสั่ง replace เพื่อเอาเครื่องหมายต้องห้ามนี้ออกเลยก็ได้
แต่เวลาแสดงผลมันก็จะไม่มีเครื่องหมายที่ว่า....นะสิครับ

เครื่องหมายต้องห้าม เช่น เครื่องหมายฟันเดี่ยว (single quote) และเครื่องหมายคอมม่า (,) เป็นต้น
อันนี้เจอกันได้บ่อย ๆ ครับ แต่ผู้พัฒนา php เขาก็คงจะรู้อยู่เหมือนกัน เขาจึงได้สร้างฟังก์ชั่นสำหรับแก้ไขปัญหาดังกล่าว

ฟังก์ชั่นที่จะช่วยได้ก็คือ function mysql_real_escape_string() ฟังก์ชั่นนี้ ..........นี่เอง

มันเป็น function ที่ทำหน้าที่ ใส่เครื่องหมาย \  เข้าไปหน้า special characters  ครับ

วิธีใช้ [php] $name=mysql_real_escape_string("I'm you.");
$sql="Insert into DB Set name='".$name."' ";
mysql_query($sql);

หรือ

$name="I'm you.";
$sql="Insert into DB Set name='".mysql_real_escape_string($name)."' ";
mysql_query($sql); [/php] ลองเอาไปทดลองใช้กันดูนะครับ หากมีปัญหาอะไร ก็สอบถามกันเข้ามาได้ครับผ๋ม.............

ย้อนกลับ กลับหน้าแรก