ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingใครมีปัญหา add ข้อมูลที่มีเครื่องหมาย ' และ " ลง database บ้างครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ใครมีปัญหา add ข้อมูลที่มีเครื่องหมาย ' และ " ลง database บ้างครับ  (อ่าน 2719 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
hurahura
สมุนแก๊งเสียว
*

พลังน้ำใจ: 20
ออฟไลน์ ออฟไลน์

กระทู้: 867



ดูรายละเอียด
« เมื่อ: 18 พฤศจิกายน 2007, 17:09:24 »

$text = "American's got talent";
mysql_query("insert into table(id, text) values('$id', '$text')");

แบบนี้มันจะลงไม่ได้
อยากให้ทั้ง ' และ " สามารถลงได้ ต้องทำยังไงครับ
บันทึกการเข้า
icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 296
ออฟไลน์ ออฟไลน์

กระทู้: 2,876



ดูรายละเอียด
« ตอบ #1 เมื่อ: 18 พฤศจิกายน 2007, 18:07:30 »

mysql_query("insert into table(id, text) values('".mysql_real_escape_string($id)."', '".mysql_real_escape_string($text)."')");


การเอาค่าจากตัวแปรไปใส่ mysql กรุณาคร่อมด้วย function mysql_real_escape_string ทุกครั้ง
1. รันได้ชัวร์
2. ป้องกัน sql injection (hack ฐานข้อมูล) ได้ด้วย
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #2 เมื่อ: 18 พฤศจิกายน 2007, 18:24:43 »

เคยเหมือนกันครับ ยิ่งตอน copy ข้อความที่พิมพ์ไว้ใน MS word แล้วนำมาใส่ในฟอร์ม

หน้าประมวลผลใช้ addslashes ก็ไม่หาย add ไม่ผ่านตลอด

mysql_query("insert into table(id, text) values('".mysql_real_escape_string($id)."', '".mysql_real_escape_string($text)."')");


การเอาค่าจากตัวแปรไปใส่ mysql กรุณาคร่อมด้วย function mysql_real_escape_string ทุกครั้ง
1. รันได้ชัวร์
2. ป้องกัน sql injection (hack ฐานข้อมูล) ได้ด้วย

เดี๋ยวจะลองดูบ้างครับ
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
hurahura
สมุนแก๊งเสียว
*

พลังน้ำใจ: 20
ออฟไลน์ ออฟไลน์

กระทู้: 867



ดูรายละเอียด
« ตอบ #3 เมื่อ: 18 พฤศจิกายน 2007, 18:54:09 »

ขอบคุณมากๆเลยครับ
บันทึกการเข้า
hurahura
สมุนแก๊งเสียว
*

พลังน้ำใจ: 20
ออฟไลน์ ออฟไลน์

กระทู้: 867



ดูรายละเอียด
« ตอบ #4 เมื่อ: 18 กุมภาพันธ์ 2008, 21:01:41 »

พอทำแล้วค่าที่ใส่เข้ามามันจะมี \ อยู่ข้างหน้า เวลาแสดงผลก็จะมี \ แสดงออกมาด้วย ไม่ทราบว่าต้องแก้ยังไงครับ
บันทึกการเข้า
mac
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 20



ดูรายละเอียด
« ตอบ #5 เมื่อ: 18 กุมภาพันธ์ 2008, 21:39:18 »

php ใช้คำสั่ง stripslashes() Huh?
บันทึกการเข้า
hurahura
สมุนแก๊งเสียว
*

พลังน้ำใจ: 20
ออฟไลน์ ออฟไลน์

กระทู้: 867



ดูรายละเอียด
« ตอบ #6 เมื่อ: 19 กุมภาพันธ์ 2008, 01:45:17 »

ขอบคุณครับ
บันทึกการเข้า
seubsamran
คนรักเสียว
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 178



ดูรายละเอียด
« ตอบ #7 เมื่อ: 19 กุมภาพันธ์ 2008, 15:56:07 »

'ข้อความ'; กับ "ข้อความ";  ไม่ต่างกันครับ เพราะแสดงผลว่า ข้อความ เหมือนเดิม

ที่ต่างกันคือ

$X=1
'ข้อความ $X'; หมายถึง ข้อความ

"ข้อความ $X"; หมายถึง ข้อความ 1

ถ้าใช้ " " จะสามารถใส่ Var ได้
บันทึกการเข้า
UnzO
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 54
ออฟไลน์ ออฟไลน์

กระทู้: 1,856



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 20 กุมภาพันธ์ 2008, 09:18:30 »

mysql_query("insert into table(id, text) values('".mysql_real_escape_string($id)."', '".mysql_real_escape_string($text)."')");


การเอาค่าจากตัวแปรไปใส่ mysql กรุณาคร่อมด้วย function mysql_real_escape_string ทุกครั้ง
1. รันได้ชัวร์
2. ป้องกัน sql injection (hack ฐานข้อมูล) ได้ด้วย

 :Smiley  :Smiley มิยักรู้ว่าไอซ์แอบมาอยู่นี่ด้วย เล่นอยู่ f0nt บ่อยๆ  Tongue
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์