【发布时间】:2017-11-11 09:03:02
【问题描述】:
$searchTerm = isset($_GET['txtSearch']) ? $_GET['txtSearch'] : '';
$searchTerm = strtolower($searchTerm);
$searchTerm = strip_tags($searchTerm);
$searchTerm = trim($searchTerm," ");
$keywords = explode(" ",$searchTerm); // break down search term into individual keywords
$in = join(',', array_fill(0, count($keywords), '?'));
$select = <<<SQL
SELECT *
FROM m_products
WHERE product_title IN ($in);
SQL;
$statement = $con->prepare($select);
$statement->bind_param(str_repeat('s', count($$keywords)), ...$keywords); //s = string, d = double, i = integer
$statement->execute();
我从上面的代码中得到以下错误:
- 注意:
中的数组到字符串的转换- 注意:未定义变量:
中的数组- 警告:mysqli_stmt::bind_param():类型无效或未指定类型
我该如何解决这个错误?
【问题讨论】:
-
$statement->bind_param(str_repeat('s', count($$keywords)), ...$keywords);有一个双 $$ 符号
-
感谢我更正了双 $$ 符号,现在错误已解决。