首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用php创建Json输出页面

问用php创建Json输出页面
EN

Stack Overflow用户
提问于 2014-03-05 23:25:14
回答 2查看 73关注 0票数 1

我正在尝试创建一个json输出,但是在将一些旧代码转换为mysqli时,我得到了一些错误。

以下是完整的代码:

代码语言:javascript
复制
<?php 

$con=mysqli_connect("localhost","root","pass","db"); 

if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql = mysqli_query($con,"SELECT * FROM users");


$response = array();

$users = array();

$result=mysqli_query($con, $sql); //ERROR 1 points here

while($row=mysqli_fetch_array($result)) //ERROR 2 points here
{ 
$firstname=$row['first_name']; 
$lastname=$row['last_name']; 

$users[] = array('firstname'=> $firstname, 'lastname'=> $lastname);

} 

$response['users'] = $users;

$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($response));
fclose($fp);


?>

我得到了两个错误:上面代码中的...See注释

  1. 警告: mysqli_query()期望参数2是字符串,对象在.
  2. 警告: mysqli_fetch_array()期望参数1为mysqli_result,在.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-05 23:27:12

第一个错误是因为您已经在这里查询了数据库。

代码语言:javascript
复制
$sql = mysqli_query($con,"SELECT * FROM users");

所以移除这一行

代码语言:javascript
复制
$result=mysqli_query($con, $sql); //remove this line

并使用$sql对象获取数据以避免第二个错误

代码语言:javascript
复制
while($row=mysqli_fetch_array($sql)) 
                             //^Change here from $result to $sql
票数 1
EN

Stack Overflow用户

发布于 2014-03-05 23:28:15

您为mysqli_query提供了一个对象,而不是字符串:

代码语言:javascript
复制
$sql = mysqli_query($con,"SELECT * FROM users");

$result=mysqli_query($con, $sql); //ERROR 1 points here

来自php 文档

代码语言:javascript
复制
Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries 
mysqli_query() will return a mysqli_result object. For other successful queries 
mysqli_query() will return TRUE.

第二个错误是第一个错误的结果,您应该将$sql交给mysqli_fetch_array函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22211602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档