作者coldollsheep (加油加油^^)
看板PHP
標題[請益] 使用mysql insert有單引號的值
時間Mon Sep 7 18:57:48 2009
大大好:
有一段sql如下:
$sql = "
INSERT INTO [RTMDB].[dbo].[B_731_LOCATION]
([SUPP_CODE]
,[COMPANY_NAME]
,[ADDRESS1]
,[ADDRESS2]
,[TEL]
,[FAX]
,[b_empno]
,[b_date])
VALUES
('{$supp_code}'
,'{$company_name}'
,'{$address1}'
,'{$address2}'
,'{$tel}'
,'{$fax}'
,'{$b_empno}'
,'{$b_date}')
;";
可是其中$company_name $address1 經常會有單引號 導致資料不見
我在sql前加了一段php...
$company_name = str_replace("'", "\'", $company_name);
$address1 = str_replace("'", "\'", $address1);
$address2 = str_replace("'", "\'", $address2);
我有echo出來看
字串中有'的地方的確都變成\'
但是卻還是不行 不知道有沒有人可以提點我一下
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.53.148
推 cleanwind :htmlspecialchars($var ,ENT_QUOTES); 09/07 19:40
→ JoeHorn :在後面用 mysql_real_escape_string($sql) 。 09/07 19:45
→ neverfly :str_replace("'", "''", $address1); 這樣呢? 09/07 20:08
推 buganini :樓上那是mssql的吧... 09/07 21:35
→ buganini :這時候你叫要懷疑不只是quote的問題了... 09/07 21:36
→ buganini :但是原po你的SQL也不像MySQL的啊... (昏) 09/07 21:37
→ yuleen123 :他應該是用 mssql 吧 09/07 21:44
→ coldollsheep:各位觀眾.....五支... 09/07 21:52
→ coldollsheep:各位大大 好像是mssql耶 請容我明天在給大家一個答覆 09/07 21:53
→ coldollsheep:謝謝大家 我明天用用看 "''" 謝 09/07 21:53
→ coldollsheep:沒錯 用 MSSQL的方式就可以了 謝謝各位 問題解決~! 09/08 19:57