--TEST-- PDO Common: FR #71885 (Allow escaping question mark placeholders) --SKIPIF-- --FILE-- setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->exec("CREATE TABLE test (a int)"); $sql = "SELECT * FROM test WHERE a ?? 1"; try { $db->exec($sql); } catch (PDOException $e) { var_dump(strpos($e->getMessage(), "?") !== false); } try { $stmt = $db->prepare($sql); $stmt->execute(); } catch (PDOException $e) { var_dump(strpos($e->getMessage(), "?") !== false); } if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1); } try { $stmt = $db->prepare($sql); $stmt->execute(); } catch (PDOException $e) { var_dump(strpos($e->getMessage(), "?") !== false); } ?> --EXPECT-- bool(true) bool(true) bool(true)