Php 无法使用PDO选择数据

Php 无法使用PDO选择数据,php,mysql,pdo,Php,Mysql,Pdo,我想从外部数据库中选择PDO始终使用mysqli的数据。它通过mysql连接,查询直接在服务器上工作。对于php,它不会。这是我的密码: <?php $hostname = 'localhost'; $username = 'user'; $password = 'pass'; function testdb_connect ($hostname, $username, $password){ $dbh = new PDO("mysql:host=$hostname;dbname

我想从外部数据库中选择PDO始终使用mysqli的数据。它通过mysql连接,查询直接在服务器上工作。对于php,它不会。这是我的密码:

<?php
$hostname = 'localhost';
$username = 'user';
$password = 'pass';

function testdb_connect ($hostname, $username, $password){
    $dbh = new PDO("mysql:host=$hostname;dbname=database", $username, $password);
    return $dbh;
}

try {
    $dbh = testdb_connect ($hostname, $username, $password);
    echo 'Connected to database';
} catch(PDOException $e) {
    echo $e->getMessage();
}

$sql= "select * from table limit 10;"; 
echo "<br/>";
echo $sql;
$stmt = $pdo->prepare($sql);
$stmt->execute();
$row = $stmt->fetchObject();
echo $row->id;

它显示连接到数据库和echo$sql部分,但不显示任何信息。

问题的第一部分已经解决

现在这个

我现在想打印10行,而不仅仅是第一行。怎么办 我能做到吗

有很多方法可以做到这一点,但您需要在结果中循环并显示所需的行

选择1

选择2

选择3


尝试将$rowchange$pdo->打印到$dbh->。因为您的连接变量是$dbh->first$stmt=$dbh->prepare$sql;然后检查回声;打印r$行;这将给出u错误$stmt=$pdo->prepare$sql;现在可以了@ChetanAmeta和Saty修好了,非常感谢!我现在想打印10行,而不仅仅是第一行。我该怎么做?
 $sql = $dbh->query("SELECT * from table limit 10")->fetchall(PDO::FETCH_ASSOC);

     foreach($sql as $row){

        // print_r($row); // see them all

        echo $row['desiredRow']; //print them one by one
     }
 $sql = $dbh->query("SELECT * from table limit 10");

     while($row=$sql->fetch()){

        // print_r($row);
        echo $row['desiredRow'];
     }
<?php

    $sql = "SELECT * from table limit 10";

    $stmt = $dbh->prepare($sql);
    $results = $stmt->fetchall(PDO::FETCH_ASSOC);

    if(count($results) > 0){//check results

        foreach($results as $row){

            print_r($row);
        }
    }else{

        echo "no results found";
    }
?>