【发布时间】:2015-06-14 15:55:06
【问题描述】:
我尝试使用 pdo 创建查询。我希望只有行保存在数组 $result 中,其值介于 $lo 和 $loo 或 / 和 $la 和 $laa 之间。对于这个困难的问题,我对 pdo 很抱歉。
错误信息:
SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“= 0 和
$range = 'range';
$_COOKIE["$range"];
$longitude = 'longitude';
$_COOKIE["$longitude"];
$latitude = 'latitude';
$_COOKIE["$latitude"];
$onemile = 0,005581257;
$le = $range * $onemile;
$lo = $longitude + $le;
$loo = $longitude - $le;
$la = $latitude + $le;
$laa = $latitude - $le;
$hostname='localhost';
$user='root';
$password='';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=log",$user,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line
$sql = "SELECT id, autorid, date, longitude, latitude, title, text FROM post WHERE (longitude >= $loo and <= $lo or latitude >= $laa and <= $la) ORDER BY date";
if ($res = $dbh->query($sql)) {
$result = $res->fetchAll();
print_r($result);
}
}
catch(PDOException $e)
{
echo $e->getMessage();
}
【问题讨论】: