Php SQlite语句中的变量出现问题,其中[condition1]和[condition2]
我正在尝试使用PHP在SQlite3数据库中添加/删除记录 添加记录:Php SQlite语句中的变量出现问题,其中[condition1]和[condition2],php,sqlite,Php,Sqlite,我正在尝试使用PHP在SQlite3数据库中添加/删除记录 添加记录: $hash='d41d8cd98f00b204e9800998ecf8427e'; $tag='foo'; $addtag = $db -> prepare("INSERT INTO mytable (hash, tags) VALUES (:hash, :tags)"); $addtag -> bindParam(':hash', $hash, PDO::PARAM_STR); $addtag
$hash='d41d8cd98f00b204e9800998ecf8427e';
$tag='foo';
$addtag = $db -> prepare("INSERT INTO mytable (hash, tags) VALUES (:hash, :tags)");
$addtag -> bindParam(':hash', $hash, PDO::PARAM_STR);
$addtag -> bindParam(':tags', $tag, PDO::PARAM_STR);
if( $addtag -> execute() ){
echo "Tag added";
}
现在,我想删除该记录,这样做效果很好:
$removetag = $db -> prepare("DELETE FROM mytable WHERE (hash= 'd41d8cd98f00b204e9800998ecf8427e' AND tags= 'foo')");
if( $removetag -> execute() ){
echo "Tag removed!";
}
我想在这个语句中使用变量,但它不起作用。我做错了什么
$removetag = $db -> prepare("DELETE FROM mytable WHERE (:hash AND :tags)");
$removetag -> bindParam(':hash', $hash, PDO::PARAM_STR);
$removetag -> bindParam(':tags', $tag, PDO::PARAM_STR);
if( $removetag -> execute() ){
echo "Tag removed!";
}
没有错误消息,只是没有删除任何记录。您没有指定列:
其中column2=:value1和column2=:value2
。不能在参数绑定中传递列名或表达式。@aynber就是这样<代码>$removetag=$db->prepare(“从mytable中删除,其中(哈希=:哈希和标记=:标记)”)代码>这解决了问题。非常感谢。很高兴我能帮忙:-)您没有指定列:其中column2=:value1和column2=:value2
。不能在参数绑定中传递列名或表达式。@aynber就是这样<代码>$removetag=$db->prepare(“从mytable中删除,其中(哈希=:哈希和标记=:标记)”)代码>这解决了问题。非常感谢。很高兴我能帮忙:-)