Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 此代码始终返回$id,但不返回$first\u name_Php_Mysql_Pdo - Fatal编程技术网

Php 此代码始终返回$id,但不返回$first\u name

Php 此代码始终返回$id,但不返回$first\u name,php,mysql,pdo,Php,Mysql,Pdo,我使用的是PDO+Mysql,其中我从会话传递udid,如果行数大于0,我想从表中获取id,以及first\u name,这是表中的第五列 问题是id总是正确返回,而不是名字,不确定原因 $stmt = $con->prepare("SELECT * FROM members WHERE id= :udid"); $stmt->bindValue(':udid', $_SESSION['udid']); $stmt->execute()

我使用的是PDO+Mysql,其中我从会话传递udid,如果行数大于0,我想从表中获取
id
,以及
first\u name
,这是表中的
第五列

问题是id总是正确返回,而不是
名字
,不确定原因

$stmt = $con->prepare("SELECT * FROM members WHERE id= :udid");                     
$stmt->bindValue(':udid', $_SESSION['udid']);
$stmt->execute();

$id=$stmt->fetchColumn();
$first_name=$stmt->fetchColumn(5);

我认为您可以使用
fetch()
获取整行,然后按其名称调用每一列

$stmt->execute();
$result = $stmt->fetch();
$id = $result['id'];
$name = $result['name'];
//and so on for all the columns

您真的应该命名要选择的列,而不要使用
select*
@juergend我想返回10个列中的9个,将行提取为assoc数组并使用字段名访问它有什么不对?为什么需要使用数字?使用$row=$stmt->fetch();它返回整行$first\u name=$row['first\u name']单独选择列比同时使用
*
选择所有列要快。@yourcommonsense想解释下一票吗?或者只是。。。它是错误的、错误的、失败的或失败的whatever@yourcommonsense只是在这里否决一切,看起来是的。这被称为“挫折”。不过没什么私事。正当你在浪费生命寻找复制品时,有人偷偷进来回答一个愚蠢的问题。但我必须祝贺你——你终于写出了一个没有错的答案。@YourCommonSense哈哈,非常有趣