Why is bindParam/bindValue not working with my SQLite3 prepared statements?
I have tried both $stmt->bindValue
and $stmt->bindParam
.
This doesn't work:
$user = "exampleUser"
$db = new SQLite3('example.db');
$stmt = $db->prepare("SELECT COUNT(*) FROM users WHERE username='?'");
if (!$stmt) {
echo $db->lastErrorMsg();;
return false;
}
$stmt->bindParam(1, $user);
$result = $stmt->execute();
echo '<br>';
var_dump($result->fetchArray());
Neither does this:
$user = "exampleUser"
$db = new SQLite3('example.db');
$stmt = $db->prepare("SELECT COUNT(*) FROM users WHERE username=':user'");
if (!$stmt) {
echo $db->lastErrorMsg();;
return false;
}
$stmt->bindParam(":user", $user);
$result = $stmt->execute();
echo '<br>';
var_dump($result->fetchArray());
But this does work:
$db = new SQLite3('example.db');
$stmt = $db->prepare("SELECT COUNT(*) FROM users WHERE username='exampleUser'");
if (!$stmt) {
echo $db->lastErrorMsg();;
return false;
}
$result = $stmt->execute();
echo '<br>';
var_dump($result->fetchArray());