我是PDO的新手..我尝试了一些在线教程,并找到了一些循序渐进的指南。我正在使用WAMP,我创建了一个名为“try”的数据库,其中包含名为“books”的表。 现在在我的index.php中写道:
<?php
$host = "localhost:3306";
$db = "try";
$user = "clyde";
$pass = "moonfang";
$conn = new PDO("mysql:host=$host;dbname=$db",$user,$pass);
$sql = "SELECT * FROM books";
$q = $conn->query($sql) or die("failed!");
while($r = $q->fetch(PDO::FETCH_ASSOC)){
echo $r['title'];
}
?>
现在每当我在浏览器上加载localhost时,我都会看到这些错误; 我不明白这个问题..: - (
答案 0 :(得分:2)
根据several examples,PDO似乎更喜欢dsn中的host
和port
:
$host = "localhost";
$port = 3307;
$conn = new PDO("mysql:host=$host;port=$port;dbname=$db",$user,$pass);
答案 1 :(得分:0)
问题是目标计算机主动拒绝[连接] 。
因此,您必须检查数据库服务器的用户名/密码/访问权限是否都正常;包括IP /主机和端口/防火墙设置。
答案 2 :(得分:0)
发生错误的第8行是$q = $conn->query($sql) or die("failed!");
这行混合了mysql_和PDO,不是必需的。
代码看起来应该是
$sql = "SELECT * FROM books";
while($r = $sql->fetch(PDO::FETCH_ASSOC)){
echo $r['title'];
}
您还应该加入PDO错误处理
`