如何在 PDO fetchAll 中正确使用 while 循环

2024-03-27

请对我宽容一些,我刚刚开始学习 PDO,并且仍在寻找如何将 mysqli 转换为 PDO 的方法。

所以我有一个函数可以从数据库中获取内容

function getContent() {
    $db = PDOconn();
    $query = "SELECT * FROM posts ORDER BY id DESC LIMIT 0,3";
    $sql = $db->prepare($sql);
    $row = $sql->fetchAll(PDO::FETCH_ASSOC);

    return $row;
}

通常当我回来时$row在 mysqli 中,我会定义fetch_assoc()在我的 while 循环中。

while ($row = $result->fetch_assoc())  {
    $id = $row['id'];
    $content = $row['content'];
}

现在,自从(PDO::FETCH_ASSOC)已经在我的函数中声明了。

我将如何正确创建我的while循环打印 PDO 中的值?

[编辑] 更新的代码

我将宣布我的while在函数外循环。所以我需要从我的函数中返回一些东西,但我不知道那是什么..

function getContent() {
    $db = PDOconn();
    $query = "SELECT * FROM posts ORDER BY id DESC LIMIT 0,3";
    $sql = $db->prepare($query);
    $row = $sql->execute();

    return $row;
}

这是我在函数外的 while 循环。

$sql = getContent();

while ($row = $sql->fetchAll(PDO::FETCH_ASSOC))  {
    $id = $row['id'];
    $content = $row['content'];
}

With fetchAll() 你不必使用while根本不。由于该函数返回一个array,你必须使用foreach()反而:

function getContent() {
    $db = PDOconn();
    $query = "SELECT * FROM posts ORDER BY id DESC LIMIT 0,3";
    $sql = $db->prepare($query);
    $sql->execute();
    return $sql->fetchAll();
}

$data = getContent();
foreach($data as $row) {
    $id = $row['id'];
    $content = $row['content'];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PDO fetchAll 中正确使用 while 循环 的相关文章

  • 严格标准:资源 ID#73 用作偏移量,转换为整数

    我使用这个 PHP 函数获取 MySql 结果 function fetcharray query id if query id query id this gt query res if query id this gt q array
  • 在 while 循环内查询可以吗?

    我在一个数据库中有两个表 我正在查询第一个表限制 10 然后循环结果 在 while 循环内 我使用第一个查询中的数据作为参数再次执行另一个查询 以下是该脚本的示例
  • 如何使用 Vim 和 Eclipse 提高 PHP5.3 项目的工作效率(可能使用 Eclim 与 Zend Studio 集成)

    在开发应用程序时 我总是努力提高生产力 在过去的几年里 我可以说我在提高生产力方面取得了良好的进展 但我仍然发现我需要更多的工具或方法 我需要更快地编辑并学习盲打 目前正在过程中 因此我发现需要转向 Vim 现在已经一年多了 我已经放弃了
  • 同一页面中多个表单上的 Google 隐形 ReCaptcha - PHP

    我正在我的 php 网站上关注这个 Invisible ReCaptcha 文档 http www pinnacleinternet com installing invisible recaptcha http www pinnaclei
  • 命令运行时从 shell_exec 命令获取输出

    我正在编写一个 PHP 脚本网页 该网页旨在接受先前上传到服务器的 JFFS2 图像的文件名 然后 该脚本将使用映像重新刷新服务器上的分区 并输出结果 我一直在用这个 tmp shell exec update flash v filena
  • 如何在 Yii 中设置 returnUrl 值

    我正在使用 Yii 我遇到的问题是Yii app gt user gt returnUrl 它总是让我回到index php page 由于我不知道用户从哪个页面访问了当前页面 如何将其值设置为请求当前页面的页面 您可以使用Yii app
  • 如何在Wamp服务器中启用SSL?

    我尝试在网上搜索它 但我很困惑 我没有得到任何澄清 逐步教程 http blog facilelogin com 2008 07 enabling ssl on wamp html 从链接复制 在 WAMP 上启用 SSL 本分步指南介绍了
  • 使用 LIKE 和撇号的 Mysql 查询问题

    所以我有一个有趣的问题 我从未遇到过 并且似乎找不到太多有关纠正该问题的信息 我有一个庞大的数据库 里面有大量的数据 相当于 10 年的数据 并试图对其进行搜索 现在搜索功能运行良好 但最近有人让我注意到一个 错误 如果你愿意的话 我尝试对
  • PHP 中两个关联多维数组的值求和

    我正在尝试对两个关联数组的值求和 这是第一个数组 Array Jan 01 2013 gt Array COM gt 100 RES gt 200 Oct 28 2014 gt Array COM gt 300 RES gt 400 这是第
  • 使用ajax发送表单数据

    我想用 ajax 以表单形式发送所有输入 我有一个这样的表单
  • Laravel 6:尚未设置外观根

    经过一段时间的努力 我已将我的网站从 Laravel 5 8 迁移到 Laravel 6作曲家更新我在网站上遇到此错误 并且仅使用命令PHP工匠 PHP Fatal error Uncaught RuntimeException A fac
  • 安全转义表名/列名

    我在 php 中使用 PDO 因此无法使用准备好的语句转义表名或列名 以下是我自己实现它的万无一失的方法 tn str replace REQUEST tn column str replace REQUEST column sql SEL
  • 使用 Laravel Fluent 查询生成器从多个表中进行选择

    我正在重写一些 PHP MySQL 来与 Laravel 一起使用 我想做的一件事是使数据库查询更加简洁使用 Fluent 查询生成器 http laravel com docs database fluent但我有点迷失 SELECT p
  • 更新查询增量字段加上 1 codeigniter 函数 [重复]

    这个问题在这里已经有答案了 我想在 codeigniter 项目中将字段值增加到当前值加 1 所以 我做了一个功能 但它不起作用 我的职能是 function increse field by 1 table name fieldToInc
  • 迁移时未找到 Laravel 致命错误类

    我已经跑了artisan migrate reset 我删除了一些迁移文件 因为我不再需要这些表 I ran composer dump autoload其次是artisan dump autoload I ran artisan migr
  • 在 Woocommerce 的单个产品页面上显示特定的自定义产品属性

    我找到了以下代码 https isabelcastillo com woocommerce product attributes functions在产品详细信息页面上显示所有自定义属性 具有我需要的特定条形设计 代码的工作方式就像一个魅力
  • 根据产品属性在 Magento 中创建购物车规则

    我在一个类别中有产品 针 有些以 100 支为一包出售 有些以 500 支为一包出售 盒子中的针数被设置为产品属性 我想根据购物车中的针总数应用购物车规则 F x 如果您购买 1000 2000 根针头 无论 500 100 包的组合如何
  • Laravel中with()和compact()有什么区别

    功能有什么区别with and compact 在 Laravel 中这两个例子 示例1 return View make books index gt with booksList booksList 示例2 return View ma
  • Woocommerce 中的 Ajaxify 标头购物车项目计数

    我正在为 WordPress 创建一个自定义 woocommerce 集成主题 我在顶部有一个 blob 显示购物车中的商品总数 我想使用 Jquery 更新此 blob 无需重新加载页面 我能够通过获取购物车中的当前数量来增加商品数量bl
  • Cakephp - CSRF 令牌不匹配

    我在 Cakephp 3 6 中有一个项目 其中 MessageController 中的 3 个操作由 Ajax 调用 但是 我有一个问题 当我向其中一个操作发送请求时 XHR 会向我返回以下内容 message CSRF token m

随机推荐

  • 中间人控制台:如何使用?

    我想知道如何使用middleman console 是一个简单的irb吗 我能用它做什么与简单的 irb 不同的事情 middleman console options Start an interactive console in the
  • 如何在量角器中设置单选按钮值

    我是量角器新手 我正在尝试使用量角器设置单选按钮值 我在互联网和 SO 上搜索了徒劳的答案 html
  • 使用 Hilt 提供首选项数据存储

    我试图提供一个共同的DataStore
  • 使用 Amazon S3 的 Active Storage 不使用指定的文件名进行保存,而是使用文件密钥进行保存

    我在使用 Active Storage 时遇到问题 当我上传到 Amazon S3 时 不是使用原始名称将文件保存在存储桶内 例如myfile zip它正在将其另存为key与该文件关联 所以在 Cyber duck 中我看到这样的东西 5Y
  • 使用 PHP 为 Apple 钱包通行证创建 PKCS #7 分离签名

    这对我来说是一个全新的概念 所以我在黑暗中拍摄 要创建签名文件 请创建 PKCS 7 分离签名 清单文件 使用与您的签名关联的私钥 证书 将 WWDR 中间证书包含在 签名 您可以从 Apple 网站下载此证书 将签名写入pass顶层的文件
  • 确保为一组定义一个且仅有一个默认值

    我有一个与地址表具有一对多关系的客户表 我想限制数据库以便客户with地址将始终有一个 且只有一个 默认地址 我可以很容易地添加一个约束 以确保每个客户只有一个默认地址 然而 我正在努力解决如何应用一个约束来确保地址始终被标记为默认地址 总
  • 距 X-Y-Z 日期还有多少天? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试构建一个倒计时小部件 给定某个日期 PHP 中确定距该日期还有多少天的最简单方法是什么
  • 无法将可等待传递给 asyncio.run_coroutine_threadsafe

    我观察到asyncio run coroutine threadsafe函数不接受一般的可等待对象 我不明白这种限制的原因 观察 import asyncio async def native coro return asyncio cor
  • 如何生成 5 个总和为 100 的随机数 [重复]

    这个问题在这里已经有答案了 你知道一种将整数分成 5 组的方法吗 每组总数必须是随机的 但总数必须等于固定数字 例如我有 100 我想把这个数字分成 1 20 2 3 3 34 4 15 5 18 编辑 我忘了说 是的 平衡是一件好事 我想
  • Android 中的内存不足错误

    我创建了一款使用图像的游戏 并且我的游戏处于纵向和横向模式 我有两种不同的布局 当我从 1 方向切换到其他方向时 执行此操作 5 6 次后 会出现强制关闭错误 错误是这样的 原因 java lang OutOfMemoryError 位图大
  • 正确完成管道中的多处理

    我想知道多重处理是如何正确完成的 假设我有一个清单 1 2 3 4 5 由函数生成f1这是写到Queue 左绿色圆圈 现在我启动两个从该队列中提取的进程 通过执行f2在过程中 他们处理数据 例如 将值加倍 并将其写入第二个队列 现在 函数f
  • 在纯函数语言中,有没有算法可以得到反函数?

    在像 Haskell 这样的纯函数语言中 是否有一种算法可以在双射时获得函数的逆函数 编辑 有没有一种特定的方法来对你的函数进行编程 在某些情况下 是的 有一种漂亮的纸叫其中讨论了几种情况 当你的函数足够多态时 可以完全自动地导出反函数 它
  • r 两个方向都有误差条的散点图

    如何创建在两个方向上带有误差线的散点图 通常误差线位于垂直方向 即 y 值的不确定性 但是我的数据的 x 值也存在不确定性 X ErrX Y ErrY 1 0 0 1 3 0 0 2 1 5 0 3 4 2 0 1 etc Using gg
  • Golang 中的 Shell 扩展(命令替换)

    Go 支持变量扩展 例如 os ExpandEnv 测试 USER gt gt 测试 MyName 但有没有办法扩展可执行文件 就像 shell 的行为方式一样 就像是 os ExpandExecutable 测试 日期 H M gt gt
  • Javascript 获取 PHP 变量中的屏幕宽度

    我有一个响应式网站 其中有简单的下拉登录菜单 http www red team design com simple and effective dropdown login box当网站处于其他导航链接旁边的 桌面 视图 屏幕可用宽度 g
  • 何时使用 RabbitMQ 铲子以及何时使用 Federation 插件?

    对于我工作的公司 我们希望使用 RabbitMQ 作为我们的主要消息总线 我们的想法是 每个应用程序都使用自己的虚拟主机进行内部通信 并且通过 shovel 或联合插件 我们可以在多个虚拟主机 甚至可能是多台机器 非集群 之间共享某些类型的
  • Android 中的图像数组

    我正在尝试使用图像数组 然后将 ImageView 设置为数组中的图像之一 我的第一反应是使用带有图像名称的字符串数组 但这不起作用 我该如何做到这一点 制作一个可绘制数组 其中图像名称不带引号或什么 取决于你的图像在哪里 但如果 R dr
  • 如何使用 SSIS 包中的变量值加载新表?

    我在 SSIS 包 Var1 和 Var2 中有两个变量 这两个变量都有值 有什么方法可以将这两个变量的值放入新表中吗 例如 在新表 col1 中 其值为 Var1 col2 的值为 Var2 Thanks 有几种方法可以做到这一点 一种是
  • 即使使用复制本地,也无法加载文件或程序集“Microsoft.SqlServer.Types”

    我的网络应用程序有一份内部报告 当我在本地浏览该报告时 该报告会按预期显示 我正在使用一个rdlc and xsd有标准的apsx用于呈现报告的网页 我现在已部署到我的临时服务器 当我尝试浏览显示我收到的报告的页面时 An unexpect
  • 如何在 PDO fetchAll 中正确使用 while 循环

    请对我宽容一些 我刚刚开始学习 PDO 并且仍在寻找如何将 mysqli 转换为 PDO 的方法 所以我有一个函数可以从数据库中获取内容 function getContent db PDOconn query SELECT FROM po