嗨,我
正在使用 Flex 4.5 和 PHP,我有一个服务 PHP 文件,其中包含一个实际上是 Workink 的查询,此查询检索特定的产品信息。 但是当我想得到带有 like?% 的语句时,这里不起作用的是工作代码
public function getProductsByName2($searchStr) {
$stmt = mysqli_prepare($this->connection,
"SELECT
products.id,
products.codb,
products.nombre,
products.precio,
products.cantidad
FROM products where products.nombre LIKE ?");
$this->throwExceptionOnError();
mysqli_stmt_bind_param($stmt, 's', $searchStr);
这段代码实际上可以获取特定的产品信息,但必须与名称完全匹配,例如,如果我想检索所有以"C"开头的名称,我应该有这样的东西
public function getProductsByName2($searchStr) {
$stmt = mysqli_prepare($this->connection,
"SELECT
products.id,
products.codb,
products.nombre,
products.precio,
products.cantidad
FROM products where products.nombre LIKE CONCAT('%',?,'%')");
$this->throwExceptionOnError();
mysqli_stmt_bind_param($stmt, 's', $searchStr);
但不知何故不起作用,请感谢任何帮助
我从未见过使用MYSQL的CONCAT-Method添加的"%"。相反,我会在 PHP 范围内添加%
- 所以:
// ...
FROM products where products.nombre LIKE ?");
// ...
mysqli_stmt_bind_param($stmt, 's', '%' . $searchStr . '%');
希望这有帮助。