mysqli_stmt::bind_param():变量数量与 mysql php 中准备好的语句中的参数数量不匹配

标签 mysql full-text-search

我正在使用准备好的语句并执行

$search = trim($_GET['s']);
if($stmtgetproducts = $mysqli->prepare("SELECT s.store_id, product_id, product_name, product_desc, product_price, product_discount, product_views, product_date, product_code, product_category, product_image1, product_image2, sale_id,s.store_name,s.store_username 
  FROM store_products sp 
  INNER JOIN store_product_categories spc ON sp.product_category=spc.id
  INNER JOIN store s ON sp.store_id=s.store_id WHERE MATCH(product_name, product_desc) AGAINST('?' IN BOOLEAN MODE);")){
$stmtgetproducts->bind_param("s",$search);
$stmtgetproducts->execute();
$getproducts=$stmtgetproducts->get_result();
$stmtgetproducts->close();
}
else
{
 echo $mysqli->error;
} 

因为,我只给它一个参数作为参数,并且绑定(bind)参数只是一个 $search 它给了我这个错误

mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement

这个 if 表单

<form action="" method="GET">
                  Search Product: <input type="text" name="s" placeholder="Enter product name">
                </form>

如果我改变这个

$stmtgetproducts->bind_param("ss",$search);

然后就出现这个错误

mysqli_stmt::bind_param(): Number of elements in type definition string doesn't match number of bind variables 

最佳答案

$stmtgetproducts = $mysqli->prepare("SELECT s.store_id, product_id, product_name, product_desc, product_price, product_discount, product_views, product_date, product_code, product_category, product_image1, product_image2, sale_id,s.store_name,s.store_username 
  FROM store_products sp 
  INNER JOIN store_product_categories spc ON sp.product_category=spc.id
  INNER JOIN store s ON sp.store_id=s.store_id WHERE MATCH(product_name, product_desc) AGAINST(? IN BOOLEAN MODE);"))

将我准备好的声明更改为此

关于mysqli_stmt::bind_param():变量数量与 mysql php 中准备好的语句中的参数数量不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40869603/

相关文章:

mysql - 将 Django 项目从 MySQL 迁移到 Oracle

php - 连接 3 个表时无法查看结果

php - 在 PHP 和 MySQL 中存储和搜索记录关键字的最佳方式?

postgresql - 如何在 PostgreSQL 全文搜索中指定最小字长?

php - MySQL Regexp 哪里喜欢值

php - 使用 php 在 mysql 数据库中保存复选框( boolean 值)值

mysql - SQL仅选择列上具有最大值的行

sql - SphinxQL 中的 SetGeoAnchor

php - 使用 "AS score"从mysql全文搜索返回相关性分数

mongodb - typeorm mongo 全文搜索 - 按 $meta : "textScore" 排序