Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,926

HOME > PHP > PHP Forum > ปัญหาการ ADD ข้อมูลลงฐานข้อมูล MS SQL Server ที่มีเครื่องหมาย ( ' ) Single Quotes



 

ปัญหาการ ADD ข้อมูลลงฐานข้อมูล MS SQL Server ที่มีเครื่องหมาย ( ' ) Single Quotes

 



Topic : 059063



โพสกระทู้ ( 21 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์




ผมพัฒนาโปรแกรม PHP โดยใช้ฐานข้อมูล Microsoft Sql Server ครับ

ผมทำ textbox เพื่อรับค่าการพิมพ์ข้อความแล้วบันทึกลงฐานข้อมูลไว้ครับ

ซึ่งส่วนมาก user จะ มีการพิมพ์คำว่า i'm หรือ it's อยู่เป็นบ่อยครั้ง

ซึ่งทำให้ติด Error ไม่สามารถบันทึกลงในฐานข้อมูลได้ครับ

ไม่ทราบว่าพอมีวิธีการไหนบ้าง ที่จะทำให้สามารถบันทึกคำเหล่านี้ลงในฐานข้อมูลได้

และแสดงผลกลับออกมาได้ถูกต้องเช่นกัน

เคยลองทำตามฟังก์ชั่นนี้แล้ว

Code (PHP)
function mssql_escape($data) {
    if(is_numeric($data))
        return $data;
    $unpacked = unpack('H*hex', $data);
    return '0x' . $unpacked['hex'];
}

mssql_query('
    INSERT INTO sometable (somecolumn)
    VALUES (' . mssql_escape($somevalue) . ')
');


ก็ไม่ประสบความสำเร็จ เพราะพอเข้าไปในดูในฐานข้อมูล มันเหมือนกับการเข้ารหัสไว้ อ่านไม่เป็นคำครับ

หรือมีวิธีการถอดคำเหล่านั้นกลับมาเป็นคำที่ถูกต้องก็ได้ครับ

ขอบคุณล่วงหน้าครับ



Tag : PHP, Ms SQL Server 2005, CakePHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-04-22 16:22:11 By : todsagolf View : 4355 Reply : 3
 

 

No. 1



โพสกระทู้ ( 74,019 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ใช้ function php ชื่อ str_replace โดยการ replace ' ให้เป็น '' (' 2 ตัว ครับ)

Code (PHP)
$fix_str    = str_replace("'","''",$sql);



มีแบบ function ให้ใช้ด้วยครับ

Code (PHP)
<?php 
function sqlEscape($sql) { 
    $fix_str        = stripslashes($sql); 
    $fix_str    = str_replace("'","''",$sql); 
    $fix_str     = str_replace("\0","[NULL]",$fix_str); 
    return $fix_str; 
} 
?>


เอา function sqlEscape ไปครอบได้เลยครับ

Code (PHP)
$strSQL = "INSERT INTO customer ";
$strSQL .="(CustomerID,Name,Email,CountryCode,Budget,Used) ";
$strSQL .="VALUES ";
$strSQL .="('".sqlEscape($_POST["txtCustomerID"])."','".sqlEscape($_POST["txtName"])."','".sqlEscape($_POST["txtEmail"])."' ";
$strSQL .=",'".sqlEscape($_POST["txtCountryCode"])."','".sqlEscape($_POST["txtBudget"])."','".sqlEscape($_POST["txtUsed"])."') ";
$objQuery = mysql_query($strSQL);







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-04-22 16:53:08 By : webmaster
 


 

No. 2



โพสกระทู้ ( 21 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ขอบคุณครับคุณ Win ผมทำได้แล้ว


ประวัติการแก้ไข
2011-04-25 09:48:03
2011-04-25 09:48:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-04-25 09:27:11 By : todsagolf
 

 

No. 3



โพสกระทู้ ( 3 )
บทความ ( 0 )



สถานะออฟไลน์


มีประโยชน์สำหรับมือใหม่มากๆครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-07 17:11:23 By : poo_pa
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ปัญหาการ ADD ข้อมูลลงฐานข้อมูล MS SQL Server ที่มีเครื่องหมาย ( ' ) Single Quotes
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่