Php 根据日期选择最近的5行

Php 根据日期选择最近的5行,php,mysql,pdo,Php,Mysql,Pdo,我已经有一段时间没有接触过PHP了,我正在尝试选择数据库中最近的5个条目并将它们打印到屏幕上 我发现不再推荐使用mysql命令,而是使用PDO->mysql 我的问题是这样的: SELECT id,title,date,author FROM table ORDER BY date DESC LIMIT 5; 我假设我必须将这些值放入一个数组,创建一个循环并输出结果 <?php $db = new PDO('mysql:dbhost='.$dbhost.';dbname='.$dbnam

我已经有一段时间没有接触过PHP了,我正在尝试选择数据库中最近的5个条目并将它们打印到屏幕上

我发现不再推荐使用mysql命令,而是使用PDO->mysql

我的问题是这样的:

SELECT id,title,date,author FROM table ORDER BY date DESC LIMIT 5;
我假设我必须将这些值放入一个数组,创建一个循环并输出结果

<?php
$db = new PDO('mysql:dbhost='.$dbhost.';dbname='.$dbname, $user, $pass);

while () {
  print($title[$i], $date[$i], $author[$i]);
  $i++
}

$db = null;

?>
PDO已确认已安装并启用。服务器上的其他web应用程序可以连接到同一个远程mysql服务器

<?php
$db = PDO('mysql:dbhost=$dbhost;dbname=$dbname', $user, $pass);
$sth = $db->prepare("SELECT id,title,date,author FROM table ORDER BY date LIMIT 5");
$sth->execute();

$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
?>
从文件中:

您还可以更改查询块

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;
}

同样,建议不要重复出现错误。仅使用错误检查进行调试。

我必须保留$db=new PDO,否则我会出现未定义的函数错误。现在我无法连接到远程服务器“未捕获异常”PDOException,消息为SQLSTATE[HY000]无法通过套接字连接到本地MySQL服务器…您的机器上安装了PDO驱动程序吗?PDO可用并已安装。谢谢,但我似乎无法让我的PHP应用程序连接到远程mysql服务器。我得到一个PHP致命错误:未捕获异常PDOException,消息为SQLSTATE无法通过套接字连接到本地MySQL服务器。。。我不明白为什么我的$dbhost是远程数据库服务器的IP。大多数系统使用“localhost”或“127.0.0.1”进行连接。我可以使用mysqli\u connect或new mysqli进行连接,但不能使用PDO。根据您的编辑,您试图在连接字符串中使用它。
“mysql:dbhost=”。$dbhost.
这是错误的,应该是错误的
“mysql:host=”.$dbhost.
显示您先前收到的错误。如果没有它,您将永远无法调试连接失败的原因
while($row = $sth->fetch()) {
    echo $row['column'];
}
<?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)); ?>
<?php $query->closeCursor(); ?>
if ($conn->connect_error) {
    die("Database Connection Failed");
    exit;
}
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;
}