阵列嗨,我想转换一个网站使用准备好的mysql语句,但是我有一些麻烦取代我使用fetch_array()。返回从mysqli stmt查询
上php.net的意见提供了,我本来以为应该工作,但由于某种原因,呼吁通过call_user_func_array功能,当我越来越陌生未定义的常量错误()可有人建议做一个更好的办法解决?
这是我目前使用的功能。我在这里发布了一些消息(这是一个扩展mysqli并处理错误捕获等的较大类的一部分),所以如果我犯了任何错误复制并粘贴它,我很抱歉。
public static function stmt_bind_assoc(&$stmt, &$out) { $data = mysqli_stmt_result_metadata($stmt); $fields = array(); $out = array(); $fields[0] = $stmt; $count = 1; while($field = mysqli_fetch_field($data)) { $fields[$count] = &$out[$field->name]; $count++; } call_user_func_array(mysqli_stmt_bind_result, $fields); }
public function fetch_array($rawQuery) { $stmt = $this->prepare($rawQuery); $row = array(); self::stmt_bind_assoc($stmt, $row); $result = $stmt->fetch(); $stmt->free(); return $result; }
我得到的错误是:
“通知:未定义的常量mysqli_stmt_bind_result用途 - 假设 'mysqli_stmt_bind_result'”
“致命错误:调用未定义的方法mysqli_stmt ::免费()“
任何人都可以通过解释为什么我得到这些错误,以及如何解决它?
编辑:这里是来自php.net http://www.php.net/manual/en/mysqli-stmt.fetch.php#82742