从mysqli改为PDO不起作用?

时间:2015-02-03 15:54:23

标签: php pdo

我之前使用的是mysqli,现在我想使用PDO,但我没有回复我的数据库中的任何结果。我已经阅读了很多关于PDO教程的文章,但是他们教了不同的东西。我试图逐个挑选并提出这个代码,但我没有回应我的数据库的任何结果或抛出任何错误。

try{
$stmt = $conn->query("SELECT * FROM memberpost ORDER BY poststart DESC LIMIT       $start_from,$num_rec_per_page");
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$row = $stmt->fetch();
if(count($row)>0){
while($row = $stmt->fetch()) {
echo $row['title']."<br>";
}
}
else{
 echo "NO result found";
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}

这是我的数据库连接代码:

try {
$conn = new PDO('mysql:host=localhost;dbname=mydatabase;charset=utf8', $username, $password); //new PDO 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}

2 个答案:

答案 0 :(得分:0)

将数据库连接代码编辑为:

<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

在.php文件中尝试此代码:

$sth = $conn->prepare(SELECT * FROM memberpost)
$sth->execute();
$red = $sth->fetchAll();
print_r($red);

答案 1 :(得分:-2)

我在互联网上找到了这个,这可能有所帮助:

// defining query 
$sql = 'SELECT name, surname, zip FROM table';  

// showing results
foreach($db->query($sql) as $row){  
  echo $row['name']. '<br>';    
  echo $row['surname']. '<br>';  
  echo $row['zip']. '<br>';  
}

来源(ita):http://www.mrwebmaster.it/php/guida-utilizzo-pdo_7594_4.html