<?php
$host = 'localhost'; $db = 'db-name'; $user = 'db-user'; $pw = 'db-password';
$conn = new PDO('mysql:host='.$host.';dbname='.$db.';charset=utf8', $user, $pw);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>
<?php
$sql = "SELECT id,title,date,author FROM table ORDER BY date DESC LIMIT 5";
$query = $conn->prepare($sql);
$query->execute();
$row = $query->fetch(PDO::FETCH_ASSOC);
$totalRows = $query->rowCount();
?>
<?php do {
// print your results here ex: next line
echo 'Title: '.$row['title'].' Date: '.$row['date'].' Author: '.$row['author'].'<br>';
} while ($row = $query->fetch(PDO::FETCH_ASSOC)); ?>
Não se esqueça de fechar e liberar recursos
<?php $query->closeCursor(); ?>
EDITAR
Eu recomendo não ecoar mensagens de erro depois de confirmar suas funções de código conforme o esperado; no entanto, se você quiser simplesmente usar texto simples, pode fazer isso ...
Você pode adicionar isso ao seu bloco de conexão...
if ($conn->connect_error) {
die("Database Connection Failed");
exit;
}
Você também pode alterar seu bloco de consulta...
try {
$sql = "SELECT id,title,date,author FROM table ORDER BY date DESC LIMIT 5";
$query = $conn->prepare($sql);
$query->execute();
$row = $query->fetch(PDO::FETCH_ASSOC);
$totalRows = $query->rowCount();
} catch (PDOException $e) {
die("Could not get the data you requested");
exit;
}
Novamente, é recomendado que os erros não sejam repetidos. Use a verificação de erros somente para depuração.