sqlite3 querySingle()无法识别的标记“:”

时间:2014-03-26 00:02:17

标签: php sql sqlite

尝试运行查询并不断收到错误响应,我尝试了几种方法,包括PHP.net中带有模型数据库的相同示例。 x.x WAMPs SQLite3有什么问题?

  

警告:SQLite3 :: querySingle():无法准备语句:1,无法识别的令牌:":"

    function linkexists( $link ) {
        $this->varr = $this->querySingle( 'SELECT link FROM link_hits WHERE link=' . $this->escapeString( $link ) );
        return ( isset( $this->varr ) ) ? true : false; 
    }

1 个答案:

答案 0 :(得分:1)

似乎$link无法直接嵌入到查询中,因为包含导致查询被误解的字符。

在插入查询之前,应该正确转义变量,并将其括在双引号(或单引号)之间

$this->varr = $this->querySingle('SELECT link FROM link_hits WHERE link="' . $this->escapeString( $link ) . '"' );

参见参考资料

http://www.php.net/manual/en/sqlite3.escapestring.php