【问题标题】:why isn't my mysqli statment working in flex 4.5?为什么我的 mysqli 语句不能在 flex 4.5 中工作?
【发布时间】:2012-05-26 16:14:44
【问题描述】:

您好,我正在使用 flex 4.5 和 php,我有一个带有查询的服务 php 文件,该查询实际上正在工作,此查询检索特定的产品信息。但是当我想用 like 获取语句时?% is not working here is the working code

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);

但不知何故无法正常工作,请提供任何帮助

【问题讨论】:

  • 除非我记错了,这个问题与Flex无关,也与Flash Builder无关?这更像是一个“我如何用 PHP 查询数据库”的问题,对吧?我删除了 Flex 标签并添加了 PHP。

标签: php mysqli flash-builder prepared-statement


【解决方案1】:

我从未见过用 MYSQL 的 CONCAT 方法添加的“%”。相反,我会在 PHP 范围内添加 % - 所以:

// ...
FROM products where products.nombre LIKE ?");
// ...
mysqli_stmt_bind_param($stmt, 's', '%' . $searchStr . '%');

希望这会有所帮助。

【讨论】:

  • 不 :( 我太绝望了,我也试过 $searchStr=$searchStr . '%'; mysql_stmt_bind_param($stmt,'s',$se...); 什么都没有@Lukx跨度>
  • 顺便说一句,很抱歉编辑你的帖子,但我不知道如何确保你从这个帖子中获得更新
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-03
  • 2015-10-05
  • 2021-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多