【发布时间】:2013-05-22 12:28:36
【问题描述】:
我将来自 facebook 的用户喜欢的页面存储在我的 postgres 数据库中,其中之一是 Sinead O'Connor 的页面。似乎当它到达撇号时,它终止了查询,因为撇号匹配,因此导致错误:
$json_likes=json_encode($likes);
echo $json_likes;
$query = "UPDATE public.account_recover_users SET user_likes='$json_likes' WHERE user_mail='$email'";
$result = pg_query($query);
if(!$result)
exit('{ "status": false }');
else exit('{ "status": true }');
现在我得到的是:
Warning: pg_query() [<a href='function.pg-query'>function.pg-query</a>]: Query failed: ERROR: syntax error at or near "Connor" LINE 1: ...l","page_id":"243440865683470"},{"name":"Sinead O'Connor","p...
知道我应该如何处理这个问题吗?我的应用的用户在他们喜欢的页面中可能有各种各样的字符。
【问题讨论】:
-
知道我应该如何处理这个问题吗?使用参数化查询或继续遭受这样的情况。 Here's how PDO 或 mysqli over mySQL(已弃用)
-
参数化查询或清理输入。 不要保持原样。
-
我对数据库和 webdev 完全陌生,抱歉。谢谢你
-
第二。 @LoztInSpace 是对的。在没有 SQL 注入知识的情况下使用数据库就像在没有任何爆破训练的情况下在反炸弹小组中工作。
-
@LoztInSpace 我没有老板(还),我只是在一个团队中工作,为了学习目的——暂时。但我们也在努力将我们的学习过程变成产品或其他东西。谢谢
标签: php sql database postgresql