|
|
|
ถามเรื่องตัว ' ว่าทำไมถึงบันทึกข้อมูลไม่ได้ คือผมจะบันทึกคำว่า X'mas แต่ไม่สามารถบันทึกได้ |
|
|
|
|
|
|
|
ติด ' ครับ
$text = "X'mas";
ต้องใช้ function นี้ครับ addslashes($text);
|
|
|
|
|
Date :
2009-12-23 14:41:26 |
By :
aknueng |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือจะมี textbox ให้กรอกข้อความอ่ะครับ แล้วต้องการจะพิมพ์ X'mas อ่ะครับ
|
|
|
|
|
Date :
2009-12-23 14:43:34 |
By :
oasiis |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขาเข้า
<input type="text" name="message"> // พิมพ์ X'mas
echo $message = addslashes($_POST['message']); // จะได้ X\'mas แล้ว save ลง DB
ขาออกก็ echo $message = stripslashes($message); // จะได้ X'mas ดังเดิม
|
|
|
|
|
Date :
2009-12-23 15:00:20 |
By :
peterxp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งง
|
|
|
|
|
Date :
2009-12-23 15:33:58 |
By :
oasiis |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ต้อง งง หรอกครับ
มันเป็นพวกอักขระพิเศษมันไม่ได้มีปัญหาแต่ตัว ' ตัวเดียว มันยังมีอีกหลายตัวครับ ทำๆไปเถอะครับ
|
|
|
|
|
Date :
2009-12-23 15:44:52 |
By :
aknueng |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
insert into tableName (id,text) values (1,'X'mas' )
syntax error ตรง mas' เพราะเวลาโปรแกรมจะอ่านคำสั่งจาก ' ไปยังอีก ' ที่หนึ่ง เพราะฉะนั้น 'X' จึงอ่านเข้าใจแค่นี้ ส่วน mas' เป็นส่วนที่เกินมาครับ มันก็เลยฟ้อง syntax error (double qoute(") ก็เหมือนกันครับกรณีคล้ายๆกัน)
นี้แหล่ะ เราจึงต้องใส่ \ ครับ เผื่อบ่งบอกว่า ' ไม่ใช่ตัวจบคำสั่งน่ะ เป็นแค่ตัวอักษรตัวหนึ่ง
insert into tableName (id,text) values (1,'X\'mas')
addslashes() เป็นหนึ่งฟังก์ชันในการใส่ \ ให้กับ ' " ครับ ก่อนลงฐานข้อมูลเราจึงต้องใช้ฟังก์ชันนี้ก่อน
stripslashes() เป็นฟังก์ชันเอา \ ออกครับ เพราะถ้าไม่เอาออกเวลาดึงมาอ่านจากฐานข้อมูลจะมี \ ติดมาด้วย เช่น X\'mas จะแสดงแบบนี้ออกมาครับ
|
|
|
|
|
Date :
2009-12-23 15:47:03 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|