MYSQLi参数化查询有局限性吗?无法使其发挥作用

时间:2017-10-18 04:59:54

标签: mysql mysqli

我想熟悉使用mysqli paramatized查询。

他们有限制吗?它们仅对INSERT命令有效吗?

这可能有点极端,但我试图在create table命令上使用它。

   $createTableSQL = "
    CREATE TABLE IF NOT EXISTS ?(
        ? VARCHAR(128) NOT NULL, 
        completed BOOL DEFAULT 0,
        expires INT NOT NULL,  
        PRIMARY KEY (?)
    )"; 

    $tableName = 'token_tracker';
    $primaryKey = 'tokens';     

    $query = $this->_tokenDB->prepare($createTableSQL); 
    $query->bind_param( 'sss', $tableName, $primaryKey , $primaryKey  ); 
    $query->execute();

我收到的错误如下:

Uncaught Error: Call to a member function bind_param() on boolean

我做了一些搜索,似乎是查询失败,而mysqli_result对象是空的?

这是使用短程化查询的错误方法。

仅供参考:如果我只是对此进行直接查询,将变量嵌入到查询中,它将起作用。

0 个答案:

没有答案