php - 获取数组元素 MySQLi + PHP

标签 php mysql arrays mysqli

尝试使用 MySQLi 和 PHP 获取数组,以便我可以处理数组的每个元素(如 $array[0]array[1] )

$titlesquery = $db->prepare("SELECT title FROM books WHERE id = ?");
$titlesquery->bind_param('i', $id);
$titlesquery->execute();
$titlesquery->bind_result($returned_title);
$json = $titlesquery->fetch($returned_title, MYSQLI_ASSOC);
echo json_encode($json);

这行不通。我收到这样的警告:

mysqli_stmt::fetch() expects exactly 0 parameters, 2 given

如果有帮助,只是 $titlesquery->fetch(); 工作正常,但我得到的不是一种数组(?)结构,只是该列的单个元素。我的错误是什么?

最佳答案

正如错误消息中所说的那样,它不需要任何参数:

http://php.net/manual/en/mysqli-stmt.fetch.php

bool mysqli_stmt::fetch ( void )

$titlesquery->bind_result($returned_title);
$titlesquery->fetch();
$json = array('title' => $returned_title);

在您调用 ->bind_result() 之后,这已经绑定(bind)了您准备好的语句的结果。

如果你想要一个数组行获取并且这对你可用(需要 mysqlnd),请改用 ->get_result()

$titlesquery = $db->prepare("SELECT title FROM books WHERE id = ?");
$titlesquery->bind_param('i', $id);
$titlesquery->execute();

$result = $titlesquery->get_result();

$json = $result->fetch_assoc();
echo json_encode($json);

关于php - 获取数组元素 MySQLi + PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28686837/

相关文章:

C++:数组和共享内存

c - 在 C 套接字上接收整数数组的最佳方法

Docker PDO 驱动程序上的 PHP 7.1 未安装 - 已验证它位于镜像上

php - 将url重定向到登录页面WHMCS开发

php - 如何检查用户是否已登录 php?

php - 如何使用 Guzzle 进行 HTTP 基本身份验证?

sql - MySQL 查找小计

php - 在php中添加一个月

php/mysql 二变量数组

php - Homestead + Symfony 2.7 安装