我爲我的數據庫操作使用phpdao。 當我運行這段代碼有一個錯誤參數化查詢問題在dao php
function queryByContentAndCreatedBy($city,$min,$max){
$sql = "SELECT id FROM users WHERE city=? LIMIT ?,? ";
$sqlQuery = new SqlQuery($sql);
$sqlQuery->setString($city);
$sqlQuery->setNumber($min);
$sqlQuery->setNumber($max);
return $this->executeUpdate($sqlQuery);
}
public static function executeUpdate($sqlQuery){
$transaction = Transaction::getCurrentTransaction();
if(!$transaction){
$connection = new Connection();
}else{
$connection = $transaction->getConnection();
}
$query = $sqlQuery->getQuery();
$result = $connection->executeQuery($query);
if(!$result){
throw new Exception(mysql_error());
}
return mysql_affected_rows();
}
Connection.php
public function executeQuery($sql){
return mysql_query($sql, $this->connection);
}
然後有一個錯誤:
You have an error in your SQL syntax ... near ('Pu\'m','d\'Artagnan','s\dsd') at line 1
類似的錯誤是此查詢
$sql = "SELECT id FROM users WHERE city IN (?,?)";
在PDO這是一個解決方案:see details
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
請告訴我是這相當於一個解決方案,我的刀?
'INN'應爲'IN' – DaveRandom
這是一個錯字錯誤,請提供解決方案。 –
@ neel.1708:這裏的大部分問題都是由錯別字造成的。下次再多加小心:-) –