准备好的声明不起作用"正确的语法在附近使用?"

时间:2016-04-02 14:13:34

标签: php mysql mysqli prepared-statement

您好我正在尝试使用预准备语句来运行类似表达式的查询。 我目前正在使用此代码

$term = "%{$_POST['term']}%";
$tbl = "%{$x}%";
$stmt = $db->prepare("SELECT * FROM ? WHERE name LIKE ?");
$stmt->bind_param("ss",$tbl,$term);
$stmt->execute();
$result = $stmt->get_result();

它首先重新出现

  

致命错误:在第48行的C:\ xampp \ htdocs \ disso \ searchtest2.php中调用boolean上的成员函数bind_param()

所以我假设准备正在返回false并添加了不同的错误处理但只收到来自

的消息
mysqli_report(MYSQLI_REPORT_ALL);

我知道接受了这个

  

致命错误:未捕获的异常' mysqli_sql_exception'带有消息'您的SQL语法中有错误;查看与您的MariaDB服务器版本对应的手册,以便在#39;附近使用正确的语法。名字是什么?'在第1行'在C:\ xampp \ htdocs \ disso \ searchtest2.php:48堆栈跟踪:#0 C:\ xampp \ htdocs \ disso \ searchtest2.php(48):mysqli-> prepare(' SELECT * FROM? ......')在第48行的C:\ xampp \ htdocs \ disso \ searchtest2.php中抛出#1 {main}

从这一点来说,我不知道该怎么做,我是否错误地构建了我的陈述?非常感谢任何帮助,谢谢。

0 个答案:

没有答案