gpt4 book ai didi

php - MySQL 两次返回数据

转载 作者:可可西里 更新时间:2023-11-01 07:17:53 25 4
gpt4 key购买 nike

我有以下代码,在试图深入了解时进行了大量简化:

<?php
$db_host = $_ENV['DATABASE_SERVER'];
$db_pass = 'dummypassword';
$db_user = 'user';
$db_name = 'database';
$db_char = 'utf8';

$db = new PDO("mysql:host=$db_host;dbname=$db_name;charset=$db_char", $db_user, $db_pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$email = 'david@example.com';

if (!empty(trim($email)))
{
$sql = 'SELECT * FROM staff';
$query = $db->prepare($sql);
$query->execute();
$results = $query->fetchAll();

echo '<pre>';
print_r($results);
echo '</pre>';
}
?>

当我运行它时,查询工作正常,我没有收到任何错误。然而,我得到的是:

Array
(
[0] => Array
(
[staff_id] => 1
[0] => 1
[staff_org] => 1
[1] => 1
[staff_email] => david@example.com
[2] => david@example.com
[staff_password] => hashyhashy
[3] => hashyhashy
[staff_first_name] => David
[4] => David
[staff_start_date] => 2014-03-17
[7] => 2014-03-17
[staff_leave_date] =>
[8] =>
)
)

就我个人而言,我不记得曾经见过它像这样返回数据两次(即使用命名键,然后又没有)。我的问题是……我是不是失去了理智,这总是如何返回 MySQL 的结果?还是我做了什么让它这样做?

最佳答案

您将获得一个数字零索引键和一个关联键。如果你只需要关联数组,你可以这样做:

$results = $query->fetchAll(PDO::FETCH_ASSOC);

如果您只想要数字键,您可以:

$results = $query->fetchAll(PDO::FETCH_NUM);

查看 fetch() 上的手册了解更多详情。

关于php - MySQL 两次返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32036693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com