Ben bazı sorguları gerçekleştirmek için Doktrini DataBase Soyutlama Katmanı (DBal) kullanıyorum. Ben sorguya geçirmeden önce bir parametre alıntı Nedense, ben hiçbir satır geri almak. Bunu tırnaksız geçirdiğinizde, iyi çalışıyor.
İşte kullanıyorum kodu ilgili pasajı var:
public function get($game)
{
load::helper('doctrinehelper');
$conn = doctrinehelper::getconnection();
$statement = $conn->prepare('SELECT games.id as id, games.name as name, games.link_url, games.link_text, services.name as service_name, image_url
FROM games, services
WHERE games.name = ?
AND services.key = games.service_key');
$quotedGame = $conn->quote($game);
load::helper('loghelper');
$logger = loghelper::getLogger();
$logger->debug("Quoted Game: $quotedGame");
$logger->debug("Unquoted Game: $game");
$statement->execute(array($quotedGame));
$resultsArray = $statement->fetchAll();
$logger->debug("Number of rows returned: " . count($resultsArray));
return $resultsArray;
}
Burada günlük gösterir budur:
01/01/11 17:00:13,269 [2112] DEBUG root - Quoted Game: 'Diablo II Lord of Destruction'
01/01/11 17:00:13,269 [2112] DEBUG root - Unquoted Game: Diablo II Lord of Destruction
01/01/11 17:00:13,270 [2112] DEBUG root - Number of rows returned: 0
Ben bu satırı değiştirin:
$statement->execute(array($quotedGame));
Bunun için:
$statement->execute(array($game));
Ben günlüğünde bu olsun:
01/01/11 16:51:42,934 [2112] DEBUG root - Quoted Game: 'Diablo II Lord of Destruction'
01/01/11 16:51:42,935 [2112] DEBUG root - Unquoted Game: Diablo II Lord of Destruction
01/01/11 16:51:42,936 [2112] DEBUG root - Number of rows returned: 1
Ben bir şey şişman parmaklı mı?