我对编码并不陌生,但对PHP,PDO和SQL来说并不陌生 - 而且我很难理解查询结构。我有一个有行和五列的表。第一行的第一列(名称)包含值“Arty Fez”。
<?php
$connection = new PDO("mysql:host=localhost;dbname=$db", $username, $password);
$result = $connection->prepare("SELECT * FROM contacts ORDER BY name ASC");
$result->execute;
echo $result->fetch(PDO::FETCH_ASSOC);
?>
我创建一个PDO连接对象,然后准备并执行一个查询。然后我获取(next ??)行并尝试回显生成的数组。这不起作用,我不知道为什么。如何访问表中的数据?我很难理解这个结构背后的想法;一切似乎都很复杂。
作为一个侧面问题,有人会介意解释数据访问方式背后的哲学吗?我理解在动态表中组织数据并引用一些更结构化的结果表的好处,但实际访问所述表中的数据感觉就像探索一些不必要的神秘查询 - 迷宫(但是,我认为这是因为我错过了一些积分组件为什么它按照它的方式完成。)
最终,我将会有一个包含姓名/电子邮件的表格,并在表格中打印出一些html / php-incremental-loop表格。
答案 0 :(得分:1)
您可能希望使用$result->fetchAll()
来获取所有行而无法回显数组,您需要使用print_r
来处理数组。用foreach循环遍历它。并使用try catch
语句捕获错误。
$connection = new PDO("mysql:host=localhost;dbname=$db", $username, $password);
$result = $connection->prepare("SELECT * FROM contacts ORDER BY name ASC");
try {
$result->execute;
} catch (PDOException $e) {
echo $e->getMessage();
}
print_r($result->fetchAll());