我正在试图弄清楚如何使用PDO从数据库连接和获取数据,我一直在使用mysqli但是数字PDO现在已经过去了几天。
这是我的代码,看起来我可以连接,但我无法获取任何数据。
<?php
$host = "localhost";
$user = "";
$pw = "";
$dbName = "test";
$numberID = 1;
$pdo = new PDO("mysql:host=$host", $user, $pw);
if ($pdo){
echo "Connected";
$smt=$pdo->prepare("SELECT from sample WHERE id=:ID");
$smt->bindParam(":ID", $numberID);
if($smt->execute()){
$rows=$smt->fetchAll();
print_r($rows);
}
}
答案 0 :(得分:2)
您的查询中存在语法错误。您缺少*
或要选择的特定列名
$smt=$pdo->prepare("SELECT * from sample WHERE id=:ID");
并且您没有在连接中使用数据库名称。尝试使用此
$dbo = new PDO('mysql:host='.$host.';dbname='.$dbName, $user, $pw);
答案 1 :(得分:0)
您必须在SELECT
之后指定列名或*,并在创建PDO
对象时使用数据库。提供了工作代码
<?php
$host = "localhost";
$user = "";
$pw = "";
$dbName = "test";
$numberID = 1;
$pdo = new PDO('mysql:host='.$host.';dbname='.$dbName, $user, $pw);
if ($pdo){
echo "Connected";
$smt=$pdo->prepare("SELECT * FROM sample WHERE id=:ID");
$smt->bindParam(":ID", $numberID);
if($smt->execute()){
$rows=$smt->fetchAll();
print_r($rows);
}
}
?>
答案 2 :(得分:0)
这真的很傻,但你确认已经安装了PDO吗?检查错误日志,看看它是否对丢失的pdo驱动程序咆哮。