当前位置: 首页 > 面试题库 >

如何读取fetch(PDO :: FETCH_ASSOC);

盛嘉
2023-03-14
问题内容

我正在尝试使用PHP构建Web应用程序,并且正在使用memcached从数据库存储用户数据。

例如,假设我有以下代码:

 $sql    = "SELECT * FROM users WHERE user_id = :user_id";
$stmt   = $this->_db->prepare($sql);
$result = $stmt->execute(array(":user_id" => $user_id));
$user   = $stmt->fetch(PDO::FETCH_ASSOC);

我不太确定如何读取$user变量并从中获取数据。我将需要能够阅读电子邮件和密码列。

我希望有人可以向我解释这是如何工作的。

谢谢


问题答案:

PDOStatement ::
fetch
从结果集中返回一行。该参数PDO::FETCH_ASSOC告诉PDO将结果作为关联数组返回。

数组键将与您的列名匹配。如果您的表包含“电子邮件”和“密码”列,则数组的结构将如下所示:

Array
(
    [email] => 'youremail@yourhost.com'
    [password] => 'yourpassword'
)

要从“电子邮件”列中读取数据,请执行以下操作:

$user['email'];

对于“密码”:

$user['password'];


 类似资料:
  • 问题内容: 只是一个简单的问题。 在循环中使用PDO :: fetchAll()和PDO :: fetch()是否有性能差异(对于大型结果集)? 我正在获取用户定义类的对象,如果有什么不同的话。 我最初的未经教育的假设是fetchAll可能会更快,因为PDO可以在一条语句中执行多个操作,而mysql_query只能执行一条。但是,我对PDO的内部工作原理知之甚少,文档也对此一无所知,而fetchA

  • 问题内容: 如下代码: 输出: 两次运行“ foreach”不是我的目的,我很好奇为什么两个“ foreach”语句仅输出一次结果? 以下是类似情况: 输出: 但是,当我从上述代码中删除第一个“ foreach”时,输出将变为正常: 输出: 为什么会这样? 问题答案: 一个(你有)是向前光标。这意味着,一旦消耗(第一次迭代),就不会后退到结果集的开头。 您可以在之后关闭光标,然后再次执行该语句:

  • 问题内容: 有一个新的API用于从JavaScript发出请求:fetch()。是否有任何内置的机制可以在飞行中取消这些请求? 问题答案: 现在支持截至2017年9月20日的参数,但目前 并非所有浏览器都支持此参数 。 2020更新: 大多数主流浏览器(Edge,Firefox,Chrome,Safari,Opera和其他一些浏览器)都支持该功能,该功能已成为DOM生活标准的一部分。(截至2020

  • 进度条可以获取到,但是我获取不到blob了。提示错误 TypeError: Failed to execute 'blob' on 'Response': body stream already read。

  • 我正在尝试使用Firebase的新远程配置特性来拥有一个远程配置参数,但我遇到了一个问题。 我正在应用程序的中进行获取和更新: 我是这样解读的:

  • 我试图在这张图片中了解当前的Spark情况。 在我看来是什么样子 4台工人机器,每个机器具有93.3 Gb Ram (注意:我确定作业是如何在节点之间拆分的。) 我的期望 app每台机器使用10个内核,每台机器使用32 Gb RAM,每台CORE=320 Gb总使用量 app使用16个内核在机器之间拆分,每个内核在每台机器中需要8 Gb=总共128 Gb 这是否意味着每个节点的内存在特定应用程序的