|
|
|
php upload text file แล้วไม่เข้า sql server เพราะใน data มีเครื่องหมาย ' (single quote)ค่ะ |
|
|
|
|
|
|
|
ถ่าง่าย ๆ ก็เพียง replace ให้ ' เป็น '' (Single Quote 2 ตัว)
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) . ')
');
ลองดูครับ
|
|
|
|
|
Date :
2013-02-28 15:28:31 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณนะคะ ลองแล้วทั้ง 2 แบบ ก้อไม่ได้อ่ะค่ะ
ลอง test กับข้อความ "TESTTTTT A'XXXXXX "
1. ถ้าใช้่ function mssql_escape = 0x5445535454545454204127585858585858
2. ถ้าใช้ function mysql_real_escape_string = TESTTTTT A\'XXXXXX
ไม่แน่ใจว่าใช้ถูกมั้ยอ่ะคะ มันก็ยัง import ไมไ่ด้อยู่ดีค่ะ
รบกวนหน่อยนะคะ หรือถ้าผิดพลาดประการใดรบกวนช่วยแก้ไขให้ด้วยค่ะ
ขอบคุณมากๆ ค่ะ
|
|
|
|
|
Date :
2013-02-28 17:31:49 |
By :
Dear |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่งสังเกต ใช้ mssql หรอครับ
งั้นลองของคุณวินแล้วรึยังครับ เพราะใน mssql การ escape ตัว ' ไม่ใช่ใส่ \ ไปด้านหน้า แต่ต้องเบิล single quote สองอันแทนครับ
แบบนี้อ่ะครับ
$str = str_replace("'","''",$str);
|
ประวัติการแก้ไข 2013-02-28 17:50:18
|
|
|
|
Date :
2013-02-28 17:45:40 |
By :
earthchie |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|