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

PDO返回错误但重复的数据。密钥不在数据库中。

岳研
2023-03-14
问题内容

我是使用$ pdo语句的新手,所以可能很简单,我尚未在php.net上阅读。查询数据库时收到重复的结果。

结果:

[0] => Array
    (
        [umeta_id] => 31
        [0] => 31
        [user_id] => 2
        [1] => 2
        [meta_key] => fbmeta
        [2] => fbmeta
        [meta_value] => someMetaValueStuff;
        [3] => someMetaValueStuff;
    )

查询非常简单:

function getData(){
    global $pdo;
    $query = $pdo->prepare('SELECT * FROM usermeta WHERE meta_key = "fbmeta" LIMIT 0,30');
    $query->execute();

    return $query->fetchAll();
}

print_r( getData() );

问题是,在命名的键(umeta_iduser_idmeta_keymeta_value)确实存在,数字键没有。查询如何返回这些?以及如何防止他们被退回?


问题答案:

它不是重复的,只是FETCH_MODE您所使用的当前。要仅获取关联密钥,您需要这样指定:默认情况下,两者都获取。

像这样使用:

$query->fetchAll(PDO::FETCH_NUM); // to fetch with numeric indexes
$query->fetchAll(PDO::FETCH_ASSOC); // to fetch with associative indexes

fetchAll文档
fetch文档



 类似资料:
  • 我得到一个错误 代码如下: 这太奇怪了,因为数据被正确地添加到我的数据库中,其他时候我使用相同的代码(用于用户注册),它没有任何问题...我检查了所有的东西,我找不到问题。 我得到的错误是: 警告:mysqli_num_rows()期望参数1是mysqli_result,布尔值在第58行的C:\xampp\htdocs\Dream Pizza\add_order.php中给出 连接到数据库时出错!

  • 问题内容: 每次我运行mysql_fetch_array时,返回带有重复值的数组, 例如 但我只想要数组中的单个结果,我尝试使用 但这没有区别。 问题答案: 这是的预期功能。如果您不希望有“重复项”,而只是具有关联数组,请改用。 例:

  • 问题内容: 我为一个朋友做了一些网络工作,帮助了他。他需要的一部分是在他的站点上更改几段文字的简单方法。与其让他编辑HTML,我决定提供一个带有消息的XML文件,然后我使用jQuery将它们从文件中拉出并插入到页面中。 它的效果非常好…在Firefox和Chrome中,在IE7中效果不佳。我希望你们中的一个能告诉我原因。我做了一个公平的但谷歌搜索,但是找不到我想要的东西。 这是XML: 这是我的j

  • 我在PHP(PDO)中遇到了这种情况; 我正在实现一个从MySql中检索数据的方法,并且做得很好,但问题是重复的数据恢复为关键骨,没有任何值,但其他数据附加更多,留下脚本和图像以了解更多细节; data.php 可变检验 json重复 预期结果

  • 我读到的几乎所有答案都说我的数据库名或pw是错的,但我100%确定不是。以下是http错误描述:javax . servlet . servlet异常:javax . servlet . JSP . JSP异常:无法获取连接,数据源无效:“java.sql.SQLException:拒绝用户' root'@'localhost '(使用密码:YES)的访问” 如果有人能帮助我,我会很棒。仍然是编程

  • 问题内容: 我使用以下jQuery通过数据服务插入数据。事件虽然我得到了状态响应201,并且数据已成功插入到我的数据库中,但系统仍然将其视为错误并给我“失败”警报? 我在这里想念什么? 更新: 来自Fire Bug的调试消息: 问题答案: 您必须发送{dataType:’text’}才能使成功函数与jQuery和空响应一起使用。