PDO 获取数据返回字符串数组

2023-11-27

我正在尝试从 MySQL 数据库获取数据PDO但不幸的是PDO以字符串数组形式返回结果。我想在结果数组中保留本机 MySQL 数据类型。

我尝试过设置PDO::ATTR_DEFAULT_FETCH_MODE二者皆是PDO::FETCH_ASSOC AND PDO::FETCH_OBJ但它仍在返回INT数据为字符串。

这是转储的结果:

array (size=1)
  0 => 
    object(stdClass)[27]
      public 'id' => string '3' (length=1)
      public 'avatar' => string '' (length=0)
      public 'fullName' => string 'Mikheil Janiashvili' (length=19)
      public 'email' => string '[email protected]' (length=17)
      public 'phone' => string '23 3537 20 03544' (length=12)
      public 'educationGE' => string '' (length=0)
      public 'educationEN' => string '' (length=0)
      public 'educationRU' => string '' (length=0)
      public 'experienceGE' => string '' (length=0)
      public 'experienceEN' => string '' (length=0)
      public 'experienceRU' => string '' (length=0)
      public 'descriptionGE' => string '' (length=0)
      public 'descriptionEN' => string '' (length=0)
      public 'descriptionRU' => string '' (length=0)

当你实例化 PDO 对象时,你需要告诉它使用 MySQL 的本机准备好的查询:

$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

假设您使用 PHP >= 5.3,您将使用 mysqlnd 库,它可以从准备好的查询中返回正确的数据类型。

Example:

$ php -a
Interactive shell

php > $db = PDO("mysql:host=localhost;dbname=test", "test", "");
php > $res = $db->query("SELECT 1 as num, PI()");
php > var_dump($res->fetch(PDO::FETCH_ASSOC));
array(2) {
  ["num"] => string(1) "1"
  ["PI()"] => string(8) "3.141593"
}

php > $db = PDO("mysql:host=localhost;dbname=test", "test", "", [PDO::ATTR_EMULATE_PREPARES=>false]);
php > $res = $db->query("SELECT 1 as num, PI()");
php > var_dump($res->fetch(PDO::FETCH_ASSOC));
array(2) {
  ["num"] => int(1)
  ["PI()"] => float(3.141593)
}
php > 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PDO 获取数据返回字符串数组 的相关文章

  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • 生成大随机数 php [重复]

    这个问题在这里已经有答案了 我想使用 PHP 生成一个包含 75 个字符的数字 我到处寻找 但一无所获 除了这个 http dailycoding com tools RandomNumber aspx http dailycoding c
  • 如何检测Mysql/innodb中的死锁?

    我知道在 Innodb 中使用事务时不可避免地会发生死锁 并且如果应用程序代码正确处理死锁 它们是无害的 正如手册所说 只需再试一次 所以我想知道 如何检测死锁 死锁是否会发出一些特殊的 mysql 错误号 如果重要的话 我正在使用 PHP
  • 检查 PHP 中“@”字符后面的单词

    我现在正在制作一个新闻和评论系统 但是我已经在一个部分上停留了一段时间了 我希望用户能够在 Twitter 上引用其他玩家的风格 例如 用户名 该脚本看起来像这样 不是真正的 PHP 只是想象脚本 3 string I loved the
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • 从 .phar 存档中提取文件

    对于 Phar 文件 我完全错过了一些东西 我正在安装一个需要 phpunit pdepend 和其他依赖项的项目 我将它们作为 phar 文件获取 但是 我无法使用命令行工具 php 命令 从中提取文件 我用谷歌搜索了这个问题 但没有发现
  • PHP 脚本可以在终端中运行,但不能在浏览器中运行

    我正在尝试执行exec命令 但我遇到了问题 当我运行以下代码时 当我通过浏览器运行它时它不起作用 但如果我把输出 str将其复制并粘贴到终端中 它工作得很好 造成这种情况的原因是什么 我该如何解决 目前我正在运行localhost php
  • 在 PHP 中使用 phpseclib 时出现 RSA 问题

    我正在尝试在 phpseclib 中使用 RSA 实现 我认为在函数中执行一次代码并重新使用该函数会更容易 当我尝试向代码发送短信时 我收到一条错误消息 提示 解密错误 测试还让我意识到每次代码运行时密文都是不同的 所以我显然在那里做错了什
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • 从Django中具有外键关系的两个表中检索数据? [复制]

    这个问题在这里已经有答案了 This is my models py file from django db import models class Author models Model first name models CharFie
  • Mysql插入表后不显示右单引号(’)

    我有一个名为 测试 的表 我插入了一行 其中包含unicode字符右单引号 0x2019在名称字段中 SQL insert into Testing values Sno Name Address insert into Testing v
  • 在 android 中建立与 MySQL 的池连接

    我需要从我的 Android 应用程序访问 MySQL 数据库 现在所有的工作都通过 DriverManager getConnection url 等等 但我必须从多个线程访问数据库 所以我必须使用连接池 问题1 是 com mysql
  • PHP preg_filter 返回意外的长值

    尝试在 Woocommerce 中删除标签并过滤值 但无法以正确的格式获取它 有东西有腥味 我正在使用WC gt cart gt get cart subtotal 来检索该值 在此示例中 我的值是 2 429kr 原始返回值是 span
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • php,统计字符并删除超过140个字符的内容

    我需要一个 PHP 函数来计算短语的字符数 如果短语长度超过 140 个字符 则此函数应删除所有其他字符并在短语末尾添加三个点 例如我们有 message I am what I am and you are what you are et
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a

随机推荐

  • 可以推荐 .NET 的 ZedGraph 图表库吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在为我的公司做一个项目 在研究股票市场的过程中 我需要将一些不同类型和平均复杂度的图表集成到C 中 我在互联网上找到了这个免费图书馆 ZedGraph 如果您遇到过它 您会推荐使
  • 使用 @font-face 并在当前 HTML 页面中嵌入 SVG 字体

    我有一个想要分发的独立 HTML 文档 没有任何外部依赖项 我在本文档中使用了非标准字体 只有我的部分用户会安装该字体 对于那些没有安装该字体的用户 我在顶部的嵌入 SVG 文档中包含了该字体的副本 在此示例中我使用的是单字形字体 真实文档
  • 计算 numpy 数组中一行中重复元素的数量

    我正在寻找一种快速方法来执行以下操作 假设我有一个数组 X np array 1 1 1 2 2 2 2 2 3 3 1 1 0 0 0 5 我不是在寻找元素的简单频率 而是在寻找连续的频率 所以第一个 1 重复 3 次 比 2 重复 5
  • Word 2016 中的导航窗格:强制折叠标题视图的 VBA 代码

    我正在尝试编写一个在打开 docx 文档时运行的 VBA 宏 我希望它强制显示导航窗格 然后强制所有标题 任何级别 以折叠模式显示 我正在尝试使用宏记录器获取折叠命令的代码 当我录制宏时 我所拥有的只是 ActiveWindow Docum
  • 类型错误:预期的字符串或缓冲区

    我有这个简单的代码 import re sys f open findallEX txt r lines f readlines match re findall A Z lines print match 我不知道为什么我会收到错误 预期
  • Winforms(.NET Core 3)是否支持所有.NET Framework控件

    我们刚刚迁移到 NET 正在尝试使用 C NET 重新创建一个旧项目 我们听说 NET Core 是新项目的最佳选择 我们对此使用 WinForms 非常感兴趣 所以我一直在尝试 Visual Studio 2019 预览版 16 5 0
  • Gradle:排除依赖项的包

    是否可以排除一个package来自 Android Gradle 依赖项 因此它不会最终出现在 APK 中 As dependencies compile com facebook android facebook android sdk
  • EmptyDataTemplate 和 EmptyDataText 在 GridView 中不起作用

    我似乎也无法得到EmptyDataTemplate or EmptyDataText of a GridView上班 我正在获取GridViewde codebehind 中的内容并使用 using 附加它们DataBind 我试过让它们作
  • Android 共享首选项的默认值

    我正在尝试了解 Android 的 SharedPreferences 我是初学者 并且对此了解不多 我为我的应用程序首选项实现了这个课程 public class Preferences public static final Strin
  • 数组获取比其他值大的最小值

    我有以下数组 float arr 0 0 1f 0 0 1f 0 0 2f 选择大于的最小值的最优雅的方法是什么0或者比其他值大 我尝试过使用Min and Select From OrderBy First 但直到现在还没有运气 使用LI
  • linux perf record:计数(-c)和频率(-F)选项之间的差异

    我试图了解 c 和 F 选项性能记录确实如此 但我无法解释我所看到的 我正在运行这些命令 perf record a F
  • AS3 设置 Sprite 容器的宽度和高度

    好吧 我对这个问题感到困惑 我知道这似乎是一个很简单的问题 我不明白为什么我无法弄清楚 但我仍然无法解决 我几乎放弃了 问题是这样的 我有一个精灵容器 它应该保存一堆视频的缩略图 我可以用所有视频和整个作品填充容器 但显然如果我添加一堆视频
  • 在虚拟环境中使用代理进行 pip 安装

    我在公司笔记本电脑上使用 Ubuntu 虚拟机 它使用代理服务器连接到互联网 经过一番研究 我发现如何使用安装模块pip install与代理 例如 使用此命令我可以安装我的 virtualenv 模块 sudo pip install p
  • 表单字段之间的间距

    我有一个 HTML 表单元素
  • 按行 pandas 具有非空值的第一列名称

    我想知道第一年各个项目的收入 鉴于以下数据框 ID Y1 Y2 Y3 0 NaN 8 4 1 NaN NaN 1 2 NaN NaN NaN 3 5 3 NaN 我想按行返回具有非空值的第一列的名称 在这种情况下 我想返回 Y2 Y3 Na
  • R使用特定编码读取tsv文件

    我正在尝试使用特定编码将 tsv 制表符分隔值 文件读入 R 据说是windows 1252 它有一个标题 对于将其放入数据框中的代码有什么建议吗 也许是这样的 mydf lt read table thefile txt header T
  • 我应该在 viewDidLoad 或 viewWillLayoutSubviews 上初始化 viewController

    我注意到有时在 viewDidLoad 上我得到了正确的视图大小 有时我不这样做 例如 void viewDidLoad super viewDidLoad self pullToRefreshController self pullToR
  • 内部函数无法访问外部函数变量

    我创建了以下 jsfiddle 来突出我的问题 http jsfiddle net UTG7U var ExampleObject function var myArray new Array this example function a
  • 如何从fabricjs画布中删除事件监听器

    我正在使用fabricjs 在html5 中构建交互式地图 当 DOM 加载时 我通过调用 my event setter true 然后为了进行测试 我想在第一次鼠标悬停时通过调用 my event setter false 因此应该删除
  • PDO 获取数据返回字符串数组

    我正在尝试从 MySQL 数据库获取数据PDO但不幸的是PDO以字符串数组形式返回结果 我想在结果数组中保留本机 MySQL 数据类型 我尝试过设置PDO ATTR DEFAULT FETCH MODE二者皆是PDO FETCH ASSOC