我一整天都在努力,查看参考文献,查看与我类似的其他问题,似乎没有任何工作。
问题:我无法输出查询数据。
这是我最近的代码迭代:
try {
$link = new PDO('mysql:host=localhost;dbname=users_db', 'root', '56235623');
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
$sql = $link->prepare('SELECT * FROM users');
$sql->execute();
$result = $sql->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $key=>$value){
echo $key.$value;
}
这是输出:
注意:第23行的C:\ xampp \ htdocs \ MyProject \ Includes \ cn.php中的数组到字符串转换 0Array 注意:第23行的C:\ xampp \ htdocs \ MyProject \ Includes \ cn.php中的数组到字符串转换 1Array 注意:第23行的C:\ xampp \ htdocs \ MyProject \ Includes \ cn.php中的数组到字符串转换 2Array 注意:第23行的C:\ xampp \ htdocs \ MyProject \ Includes \ cn.php中的数组到字符串转换 3Array
答案 0 :(得分:0)
$value
是数组,更改为:
foreach ($result as $key=>$value){
echo $key;
//check what $value contains
print_r($value);
echo "<br />";
}
答案 1 :(得分:0)
fetchAll
返回一个二维数组。第一个维度是行,第二个维度是列。所以你需要嵌套循环:
foreach ($result as $i => $row) {
echo "Row: $i\n";
foreach ($row as $key => $value) {
echo "$key: $value; ";
}
}
答案 2 :(得分:0)
就像您的通知所暗示的那样,您正在尝试将数组转换为字符串。
如果您只想打印$result
变量的内容,可以使用:
var_dump($result);
或
print_r($result);
如果您想使用foreach
以您自己的格式打印每个值:
foreach ($result as $key=>$values){
echo "Key: " , $key, " Values:", implode(", ", $values), "<br />";
}
implode
方法将使用&#34;,&#34;连接数组中的所有值。作为胶水元素。
如果你想遍历你的$values
数组,你应该看看Barmar的答案。