嗨,我正在使用flex 4.5和php,我有一个服务php文件,其查询实际上是workink,此查询会转发特定的产品信息。但是,当我想得到类似的声明?%不工作在这里是工作代码
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);
但不知何故不起作用请感谢任何帮助
答案 0 :(得分:0)
我从未见过用MYSQL的CONCAT-Method添加“%”。相反,我会在PHP范围内添加%
- 所以:
// ...
FROM products where products.nombre LIKE ?");
// ...
mysqli_stmt_bind_param($stmt, 's', '%' . $searchStr . '%');
希望这有帮助。