使用SQLite3和PHP的预准备语句

Con*_*lor 2 php sqlite prepared-statement prepare

我正在尝试使用PHP中的SQLite3将数据添加到数据库中.我没有准备好的陈述让它工作,但现在我想让它更安全.我没有使用PDO.

到目前为止,以下代码不起作用.它只是将":name"和":email"插入数据库,而不是它们的绑定值应该是:

$smt = $db->prepare("insert into names (name, email) values (':name', ':email')");
$smt->bindValue(':name', $var_name);
$smt->bindValue(':email', $var_email);

$var_name = ($_POST[post_name]);
$var_email = ($_POST[post_email]);

$smt->execute();
Run Code Online (Sandbox Code Playgroud)

所以,我开始还以为这是因为我身边有单引号:name,并:email在准备好的声明.所以我拿出来了.现在,当我发帖的形式,它只是把空白项到数据库中,它不会插入的值$var_name$var_email

该语句正在执行,它只是没有正确绑定变量我不认为.我做错了什么?

You*_*nse 5

你设法混淆了绑定功能.

这是bindParam必须使用,如果你没有你的变量分配呢.
bindValue只能与现有值一起使用.

此外,您应该打开错误报告