私は、pdo と memcache を使用する「スマート」キャッシュ システムに取り組んでいます。しかし、私はこのエラーで立ち往生しています。あなたは私を助けることができます?
私のコード:
$session = "a121fd4ztr6";
cache_query("SELECT * FROM `session` WHERE `session` = :session: LIMIT 1;", array(':session:' => $session));
// CACHE QUERY
function cache_query($sql, $params) {
global $db;
global $memcache;
$name = 'querycache-'.md5(serialize(array($sql, $params)));
$result = $memcache->get($name);
if (!$result) {
if(!($db)){
require("db.php");
}
$stmt = $db->prepare($sql);
$exec = $stmt->execute($params);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
$memcache->add($name, $result);
}
return $result;
}
db.php は PDO への接続をセットアップします。Memcache 接続はすでに設定されています。私は常に次のエラーが発生します。
編集:エラーモード属性を追加した後、より詳細なエラーが表示されるようになりました:
致命的なエラー: キャッチされない例外 'PDOException' とメッセージ 'SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 SQL 構文にエラーがあります。/chroot/home/html/session.php:170 の ': LIMIT 1' at line 1' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
↑それはどうなっているのですか?