PDO::FETCH_OBJ php

Posted

技术标签:

【中文标题】PDO::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 【参考方案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);

【讨论】:

以上是关于PDO::FETCH_OBJ php的主要内容,如果未能解决你的问题,请参考以下文章

PDO 返回空属性名称

面向对象第八天---预处理与mysql事务

如何使用 AJAX GET 请求来显示获取的 stdclass 对象

如何检查结束时间和开始时间是不是与javascript相等

Php fetch 返回字符串而不是布尔“真/假”值