Php SQlite语句中的变量出现问题,其中[condition1]和[condition2]

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

我正在尝试使用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 -> 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中删除,其中(哈希=:哈希和标记=:标记)”)这解决了问题。非常感谢。很高兴我能帮忙:-)