【问题标题】:Flash Builder / php / mysql functionFlash Builder / php / mysql 功能
【发布时间】:2018-03-29 08:40:03
【问题描述】:

我正在尝试在 Flash Builder 中使用 php 函数...但是,该函数的返回值出乎意料.. 一个空白的 [](对象)而不是一个数组。 功能是:

public function getAllAuctions($search) {

        $stmt = mysqli_prepare($this->connection, "SELECT * FROM $this->tablename WHERE name LIKE ?");      
        $this->throwExceptionOnError();

        mysqli_stmt_bind_param($stmt, 'i', $search);        
        $this->throwExceptionOnError();


        mysqli_stmt_execute($stmt);
        $this->throwExceptionOnError();

        $rows = array();

        mysqli_stmt_bind_result($stmt, $row->id, $row->name);

        while (mysqli_stmt_fetch($stmt)) {
          $rows[] = $row;
          $row = new stdClass();
          mysqli_stmt_bind_result($stmt, $row->id, $row->name);
        }

        mysqli_stmt_free_result($stmt);
        mysqli_close($this->connection);

        return $rows;
    }

总结一下......我期待收到一个数组,一个mysql搜索查询的结果;改为接收空白对象:[] 有什么想法吗?

【问题讨论】:

  • 很好奇您是如何检测到 $this->throwExceptionOnError(); 的错误的 不知道 $rows[] = $row; 的意义是什么,因为 $row 没有在逻辑上事先设置,您总是会错过最后一个结果。第三,我认为,当使用mysqli_stmt_bind_result 时,您必须更改查询以选择列名,您不应该调用*。 (在这一点上我可能是错的,所以请纠正我)。第四,这段代码似乎有太多问题。我觉得阅读reading the man page 可能是缩小问题范围的更好方法。
  • 我不得不承认我是一个完全的 php 初学者。该功能在连接到数据服务时作为模板提供;只是替换了$search 变量的名称和对mysql 的轻微修改(LIKE)。它应该与select * 一起工作...我怀疑错误是通过在此过程中安装的 Zend 框架传递的...
  • 我正在考虑购买 Flash Builder,但现在不太确定.. 尝试使用 eclipse... 太糟糕了... 我必须重新开始... 学习 Java... . 这个错误似乎很可疑......位转换为 5b 5d ...
  • 我认为问题出在mysqli_stmt_bind_param($stmt, 'i', $search); ...它应该是字符串中的“s”,而不是整数中的“i”...还没有尝试过...
  • 是的......这就是问题......我花了大约一个月的时间才弄清楚......“s”而不是“i”......我知道我有它在不知何故之前工作......最后......

标签: php mysql flash-builder


【解决方案1】:

问题出在绑定参数部分:mysqli_stmt_bind_param($stmt, 'i', $search); .... 应该是:mysqli_stmt_bind_param($stmt, 's', $search);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-06
    • 2011-08-14
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多