是否会在姓氏中反复查询失败?

时间:2013-09-17 14:59:44

标签: php mysql paypal

我有一个运行几个db更新的ipn并写一个支付交易。 ipn工作得很好。然而,今天早上,如果一个人的姓氏是“O`Brien”,那就失败了。 (注意反引号,而不是常规的撇号。)

在ipn脚本中,变量是这样的:

    ...
$firstName  = mysqli_real_escape_string($dbc, $_POST['first_name']);
$lastName   = mysqli_real_escape_string($dbc, $_POST['last_name']);
...

..而插入查询是这样的:

$q = "INSERT INTO payments_log (`player_id`,`payer_email`,`transaction_id`,`paypal_first_name`,`paypal_last_name`,`payment_status`,`payment_amount`,`created`) VALUES ('$p_id', '$payerEmail', '$txn_id', '$firstName', '$lastName', '$status', '$amount', NOW())";

其他更新运行得很好,例如姓氏为“奥沙利文”,“奥布莱恩”等姓氏的人,也就是常规撇号。

我找不到任何其他原因,为什么ipn除了反击之外会失败。任何人都可以告诉我,这确实是问题的原因吗?如果是,我是否需要对所有姓氏进行str_replace?...

TIA

0 个答案:

没有答案