【问题标题】:Matching an email address in mysql (php) not working - from paypal ipn匹配 mysql (php) 中的电子邮件地址不起作用 - 来自 paypal ipn
【发布时间】:2011-10-08 18:42:28
【问题描述】:

有一个菜鸟的一天。

由于某种原因,这可行:

// check for user in db
$result = $connector->query('SELECT username FROM wallart_users 
                             WHERE username ="test@testmail.com");

if (mysql_num_rows($result) == 0) {
  ////// ADD NEW USER

但这不是:

$payer_email = mysql_real_escape_string($payer_email);
// check for user in db
$result = $connector->query('SELECT username FROM wallart_users 
  WHERE username ='.$payer_email);

if (mysql_num_rows($result) == 0) {
  ////// NEW USER

第一个匹配并将我发送到页面下方。
第二个不匹配(有或没有转义)并尝试使用相同的凭据创建一个新用户(然后由于用户已经存在而失败)。
PayPal 发送的电子邮件地址始终相同,并且数据库包含正确的地址。
在此过程中,我已将两个地址写入日志文件,它们看起来相同。

【问题讨论】:

    标签: php mysql paypal paypal-ipn


    【解决方案1】:
    'SELECT username FROM wallart_users WHERE username ="'.$payer_email.'"';
    

    【讨论】:

      【解决方案2】:

      这段代码

      $result = $connector->query('SELECT username FROM wallart_users 
      WHERE username ='.$payer_email);
      

      应该是

      $result = $connector->query("SELECT username FROM wallart_users 
      WHERE username ='$payer_email' ");
      

      【讨论】:

        【解决方案3】:

        你不认为你的第二个查询做错了吗?你应该像这样改变你的查询

        $result = $connector->query('SELECT username FROM wallart_users WHERE username ="'.$payer_email.'"');
        

        【讨论】:

          猜你喜欢
          • 2013-06-16
          • 2013-09-30
          • 2013-11-30
          • 2013-12-22
          • 2013-02-15
          • 2013-01-09
          • 2016-03-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多