【问题标题】:PDO::FETCH_OBJ phpPDO::FETCH_OBJ php
【发布时间】:2021-12-09 19:14:07
【问题描述】:

PDO::FETCH_OBJ -> 返回一个匿名对象,其属性名称对应于结果集中返回的列名称。 例如:

 Array ( [0] => stdClass Object ( [id] => 3 [email] => frank@frank.com [password] => password [salt] => salt [devices] => 1 [accounttype] => 1 [accountcreated] => 2014-03-26 [confirmed] => 1 [confirmcode] => 0 [logindate] => 2014-03-26 ) )

我如何获得电子邮件值???????以下是我目前所拥有的

  $_db = DB::getInstance();
  $_db = $_db->query('SELECT * FROM users WHERE email = ? AND password = ? ', array($email, $pass));
  $results = $_db->results();
  print_r($results);
  print_r($results->email);  <<<<<<<<<<<--- does not work!

请帮助这 24 小时......我知道这很简单,因为我以前做过......只是似乎不记得找到任何参考代码!

【问题讨论】:

  • 应该是$results[0]-&gt;emailforeach($results as $result) echo $result-&gt;email

标签: php mysql pdo


【解决方案1】:

您可以在粘贴的内容中看到 $results 是一个对象数组,因此您需要指定数组中的哪个项目以获得正确的电子邮件结果。

例子:

print_r($results[0]->email);

【讨论】:

    【解决方案2】:

    你应该使用类似下面的东西:

    foreach ($results as $row) {
            print_r($row->email);
    }
    

    如果您希望只返回一行,最好检查一下。您可以将 count() 与 $results 变量一起使用,如下所示:

    if (count($results)==1) {
          print_r($results[0]->email);
    }
    

    【讨论】:

      猜你喜欢
      • 2013-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-19
      • 1970-01-01
      • 2017-08-16
      • 2014-01-01
      相关资源
      最近更新 更多