为什么我的 MySQLI 语句在 Flex 4.5 中不起作用


why isn't my mysqli statment working in flex 4.5?

嗨,我

正在使用 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 . '%');

希望这有帮助。