Php 从数据库检索数据时遇到问题

Php 从数据库检索数据时遇到问题,php,mysql,pdo,Php,Mysql,Pdo,我正试图弄清楚如何使用PDO连接数据库并从数据库中获取数据,我一直在使用mysqli,但我认为PDO是一种好办法 这是我的代码,看起来我可以连接,但我无法获取任何数据 <?php $host = "localhost"; $user = ""; $pw = ""; $dbName = "test"; $numberID = 1; $pdo = new PDO("mysql:host=$host", $user, $pw); if ($pdo){ echo "Conne

我正试图弄清楚如何使用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);
    }
}

查询中存在语法错误。您缺少要选择的
*
或特定列名

$smt=$pdo->prepare("SELECT * from sample WHERE id=:ID");
并且您在连接中未使用数据库名称。试着用这个

$dbo = new PDO('mysql:host='.$host.';dbname='.$dbName, $user, $pw);

在创建
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);
        }
    }
?>


这真的很愚蠢,但您确认安装了PDO吗?检查错误日志,查看是否有关于丢失pdo驱动程序的问题。

在您的dsn中,您没有使用数据库
$dbName
选择后必须有一个*确定。好的,我尝试了,我没有收到任何错误,但我也没有检索数据。请检查表中是否存在id为1的行,并且您没有在连接中使用数据库名称