|
|
|
ถ้าข้อมูลที่ต้องการบันทึก มี ' (Single Quotes) ซึ่งทำให้ เกิด error ใน mssql (ms sql server) ขึ้นต้องทำยังไงครับ |
|
|
|
|
|
|
|
เอ๊ะ ผมส่ง แบบ พารามิเตอร์ไม่ Error นะครับ
|
|
|
|
|
Date :
2011-04-27 10:16:40 |
By :
13crowns |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าไม่ใช้ parameter ลอง replace ' เป็น ''
( ' 2 ตัวนะครับ ) ก่อนส่งไป execute
|
|
|
|
|
Date :
2011-04-27 13:22:34 |
By :
mi16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าปลี่ยนเป็นขีดสองตัว ก็เท่ากับ ลบ ' ออก ไปเลยไม่ใช่เหรอครับ
|
|
|
|
|
Date :
2011-04-27 14:02:43 |
By :
kokopun |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PHP addslashes()
Code (PHP)
<?php
$str = "Is your name O'reilly?";
// Outputs: Is your name O\'reilly?
echo addslashes($str);
?>
|
|
|
|
|
Date :
2011-04-27 15:04:43 |
By :
panyapol |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ 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);
Go to : ปัญหาการ ADD ข้อมูลลงฐานข้อมูล MS SQL Server ที่มีเครื่องหมาย ( ' ) Single Quotes
|
|
|
|
|
Date :
2011-04-27 15:13:16 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|