为了在数据中插入特殊字符,比如(,‘)等,我使用了mysql_real_escape_string()函数&它工作得很好。
现在,我想在Oracle中插入值时使用相同的变量。
$str = 'N.G.Palace\'s Building',
'xyzcity', '12345678','India','100001',12
这里的$str是mysql_real_escape_string()的结果。所以它转义了特殊字符。现在我的oracle代码是这样的:
$qry ="INSERT INTO Ora_table(ship_to_street, ship_to_city,ship_to_country, ship_to_telephone, order_id, record_no) VALUES(".$str);
所以我的怀疑是甲骨文不接受mysql_real_escape_string返回的值,例如宫殿的(就像这个mysql函数在‘单引号’前附加的一样),所以谁能告诉我ho9w我能用那个变量$str把数据插入到Oracle中吗?
我也试着这样做--
"q"."'"."c".$str."c"."'"
我们可以对多个值使用它吗?就像在我的case...though中一样,我仍然无法在oracle中插入数据?
HOW to insert special characters in Oracle db?
like 'SWEET/HOME', 'CROY-BOY' etc. /,-,\ etc.
请告诉我..
发布于 2012-03-29 11:46:26
我强烈建议您不要通过将字符串附加在一起来构建查询。这是一张直接通向地狱的门票--或者是提前一站到达SQL注入城市的门票。:-)说真的,如果您使用参数标记并将值绑定到参数标记,您将获得几个优势:
分享和享受。
发布于 2012-03-29 11:32:45
来自:http://www.php.net/manual/en/function.stripslashes.php#94758
function no_magic_quotes($query) {
$data = explode("\\",$query);
$cleaned = implode("",$data);
return $cleaned;
}
// I'm using mysql_escape_string as a simple example, but this function would work for any escaped string.
$query = "It's amazing! Who's to say this isn't a simple function?";
$badstring = mysql_escape_string($query);
echo '<b>Without function:</b> '.$badstring;
echo '<br><br>';
echo '<b>With function:</b> '.no_magic_quotes($badstring);
https://stackoverflow.com/questions/9924419
复制相似问题