我有这个 PHP 代码,在 Ubuntu 服务器 22.04 中:
$query = "SELECT * FROM info ORDER BY data DESC LIMIT 20";
$mdb_file = 'database.mdb';
$uname = explode(" ",php_uname());
$os = $uname[0];
switch ($os){
case 'Windows':
$driver = '{Microsoft Access Driver (*.mdb)}';
break;
case 'Linux':
$driver = 'MDBTools';
break;
default:
exit("Don't know about this OS");
}
$dataSourceName = "odbc:Driver=$driver;DBQ=$mdb_file;";
$connection = new PDO($dataSourceName);
$sth = $connection->prepare($query);
$sth->execute();
foreach($sth as $row) {
print_r($row);
}
但是当它找到空字段时,它会返回过大的内存。
另一个问题是,当我使用 ORDER BY 时,它不起作用,它返回“Uncaught PDOException: SQLSTATE[]: <>: 1 Couldn't parse SQL”。
感谢您的帮助!
我尝试删除空字段并删除 ORDER BY,它有效,但这不是我想要的。