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

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

ThaiSEOBoard.comความรู้ทั่วไปGeneral (ถามคุยวิชาการ IM)[สอบถาม]เก็บ Code PHP ใน SQL ยังงัยครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [สอบถาม]เก็บ Code PHP ใน SQL ยังงัยครับ  (อ่าน 1601 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
+~Inw-B@nk~+
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,011



ดูรายละเอียด เว็บไซต์
« เมื่อ: 28 พฤษภาคม 2015, 17:11:40 »

คือใช้ Textarea ในการรับ ถ้าข้อความปกติ จะรับได้
แต่ถ้าใส่เป็น code PHP ไป จะ error

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$name','$data','$own','$type','$status','$cur_date')"); $temp=$pdo->query("sel' at line 1' in C:\xampp\htdocs\c\addCode.php:11 Stack trace: #0 C:\xampp\htdocs\codespace\addCode.php(11): PDO->exec('insert into sou...') #1 {main} thrown in C:\xampp\htdocs\c\addCode.php on line 11
บันทึกการเข้า

bthpp0ng
คนรักเสียว
*

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

กระทู้: 150



ดูรายละเอียด
« ตอบ #1 เมื่อ: 28 พฤษภาคม 2015, 17:14:24 »

เดาว่า..
ลองดู " กับ ' ดีๆครับ ตอนเจนได้ sql insert statement จริงๆมา ลองเอาไปรันใน mysql ดูก่อน
บันทึกการเข้า

- โฆษณา Popup เรทดี คลิกเลย
- รับถอด IonCube ทุกเวอร์ชั่น
- รับทำเวปสายดำแบบ auto update รอโปรโมตอย่างเดียว สนใจ/สอบถาม
- เวปแลกเปลี่ยน traffic คลิกเลย
+~Inw-B@nk~+
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,011



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 29 พฤษภาคม 2015, 13:28:22 »

เดาว่า..
ลองดู " กับ ' ดีๆครับ ตอนเจนได้ sql insert statement จริงๆมา ลองเอาไปรันใน mysql ดูก่อน
ยังงัยครับ ไม่ค่อยเข้าใจ
บันทึกการเข้า

progamer2000
Newbie
*

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

กระทู้: 45



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 29 พฤษภาคม 2015, 13:31:48 »

ถ้าจะเก็บลง db ใช้

htmlentities

ช่วย ดัก ' กับ " คับ
บันทึกการเข้า

 *Link Removed*
AbuseMan
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,103



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 29 พฤษภาคม 2015, 13:40:43 »

ใช้ PDO ผมว่าปรับโค้ดเอาง่ายกว่านะครับ

โค๊ด:
$sql = 'INSERT INTO table_name ( id, key, value ) VALUES ( :id, :key, :value )';
$sth = $pdo->prepare($sql);
$sth->execute([
  ':id' => $id,
  ':key' => $key,
  ':value' => $value
]);
บันทึกการเข้า

ฟังเพลงออนไลน์ : เว็บเพลงออนไลน์ที่คุณขอฟังเพลงได้ด้วยตัวคุณเอง
ห้องแชท : บริการฟรีห้องแชทสำหรับติดเว็บ
เพลงใหม่ : เพลงใหม่ เพลงฮิต
บ้านคุ้มค่า : ลงประกาศขายบ้าน ที่ดิน พร้อมอัพเดทโครงการบ้านและคอนโดใหม่ที่น่าสนใจ
+~Inw-B@nk~+
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,011



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 29 พฤษภาคม 2015, 17:53:51 »

like ให้ทั้งสองท่านแล้วครับ
แต่มันยังไม่ได้
 wanwan017 wanwan017
บันทึกการเข้า

esanza.com
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 3,672



ดูรายละเอียด
« ตอบ #6 เมื่อ: 29 พฤษภาคม 2015, 17:58:57 »

ต้อง encode ก่อน
พอเวลาจะนำมาแสดงค่อย decode ครับ
ผมเคยทำแต่นานละ เดี๋ยวถ้าเจอผมจะมาคอมเม้นอีกทีคับ
บันทึกการเข้า

ใครต้องการเช่าโฮสที่มี Control Panel ดีๆ
และ Support ดี แนะนำ => โฮสอะตอม
Basicman
คนรักเสียว
*

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

กระทู้: 178



ดูรายละเอียด
« ตอบ #7 เมื่อ: 05 มิถุนายน 2015, 16:32:24 »

น่าจะลองใช้ addslashes ดูนะครับ
บันทึกการเข้า
cyberspace
คนรักเสียว
*

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

กระทู้: 123



ดูรายละเอียด
« ตอบ #8 เมื่อ: 05 มิถุนายน 2015, 18:43:30 »

ก่อนรัน SQL ลองใช้คำสั่ง addslashes($value) ดูครับ

หมายเหตุ: $value คือข้อมูลที่จะเก็บ
บันทึกการเข้า
bigone111
ก๊วนเสียว
*

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

กระทู้: 315



ดูรายละเอียด
« ตอบ #9 เมื่อ: 05 มิถุนายน 2015, 21:48:19 »

replace sting ก่อน insert ลงนะครับ ใส่แบบนี้ \'     \"
บันทึกการเข้า
icez
Verified Seller
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,887



ดูรายละเอียด
« ตอบ #10 เมื่อ: 05 มิถุนายน 2015, 23:37:41 »

อย่าใช้ addslash หรือ htmlentitles อะไรก็ตามแต่ครับ ไม่ปลอดภัยเป็นอย่างยิ่ง

วิธีที่ "ควรจะ" ใช้อย่างถูกต้องมีแค่วิธีเดียวตามนี้ครับ
ใช้ PDO ผมว่าปรับโค้ดเอาง่ายกว่านะครับ

โค๊ด:
$sql = 'INSERT INTO table_name ( id, key, value ) VALUES ( :id, :key, :value )';
$sth = $pdo->prepare($sql);
$sth->execute([
  ':id' => $id,
  ':key' => $key,
  ':value' => $value
]);

บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
+~Inw-B@nk~+
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,011



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 06 มิถุนายน 2015, 12:09:42 »

พอดึงมาแสดงใน text area แล้ว
มันโชว์เป็นหน้าเว็บเลย ไม่โชว์โค้ด
« แก้ไขครั้งสุดท้าย: 06 มิถุนายน 2015, 12:19:48 โดย +~Inw-B@nk~+ » บันทึกการเข้า

icez
Verified Seller
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,887



ดูรายละเอียด
« ตอบ #12 เมื่อ: 07 มิถุนายน 2015, 00:16:48 »

พอดึงมาแสดงใน text area แล้ว
มันโชว์เป็นหน้าเว็บเลย ไม่โชว์โค้ด

ตอน echo ออกมาต้องสั่ง htmlspecialchars ครอบด้วยครับ

echo htmlspecialchars ($row['data']); อะไรประมาณนี้
« แก้ไขครั้งสุดท้าย: 07 มิถุนายน 2015, 00:17:05 โดย icez » บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
หน้า: [1]   ขึ้นบน
พิมพ์