我是php pdo的新手。在这里,我正在尝试使用预准备语句从数据库中获取我的数据库记录。但它没有取得记录。我收到以下错误
致命错误:带有消息的未捕获异常'PDOException' 'SQLSTATE [3D000]:无效的目录名称:1046未选择数据库
为什么我收到此错误?为什么它没有从数据库中获取记录?
<?php
$user = "root";
$password = "password";
try {
$conn = new PDO('mysql:host=localhost;database=evouchers', $user, $password);
$conn -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
echo 'DATABASE ERROR : ' . $e->getMessage();
}
$sql = "SELECT UserName FROM ebusers ORDER BY UserName";
$db = $conn->query($sql);
$db->setFetchMode(PDO::FETCH_ASSOC);
while($row = $db->fetch())
{
print_r($row);
}
?>
答案 0 :(得分:3)
而不是数据库使用dbname
$conn = new PDO('mysql:host=localhost;database=evouchers', $user, $password);
---------------------------------------^
$conn = new PDO('mysql:host=localhost;dbname=evouchers', $user, $password);
答案 1 :(得分:2)
我认为应该是
$conn = new PDO('mysql:host=localhost;dbname=evouchers', $user, $password);
或者在初始化PDO之后尝试
$conn->exec('USE evouchers;');
答案 2 :(得分:2)
使用以下行进行pdo连接
$conn = new PDO('mysql:host=localhost;dbname=evouchers', $user, $password);