嗨,我正在学习如何使用PHP,并且已经按照我正在观看的教程中的所有内容,但我不明白为什么我会收到错误。这是我的代码:
<?php
try {
$db = new PDO("mysql: host = localhost; dbname = tutorialdb", "root", "");
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$db->exec("SET NAMES 'utf8'");
} catch(Exception $e) {
echo "Could not connect to database.";
exit;
}
try {
$results = $db->query("USE mydatab; SELECT name, price, img FROM products ORDER BY sku asc");
} catch (Exception $e) {
echo "Could not retrieve data.";
exit;
}
echo "<pre>"
var_dump($results->fetchAll(PDO::FETCH_ASSOC));
?>
非常感谢任何积极的意见,谢谢。
答案 0 :(得分:0)
您应该一次使用查询和 exec 获取一个SQL语句:
$db->exec("USE mydatab");
$results = $db->query("SELECT name, price, img FROM products ORDER BY sku asc");
有可能do otherwise,但有一些警告。通常,您可以拥有多个结果集,并且需要指出要检索的结果集。如果你只是单独打电话,生活就会简单得多。
旁注:您可以在连接字符串中指定UTF-8字符集,如下所示:
$db = new PDO("mysql: host=localhost; dbname=tutorialdb; charset=UTF8",
"root", "");
那么你不需要这个:
$db->exec("SET NAMES 'utf8'");