繁体   English   中英

从数据库中检索特定行,并显示特定行中的所有数据,然后使用php发送json

[英]Retrieve specific row from database and display all the data in the specific row and send json using php

我想使用php和mysqli从数据库中检索特定行。

例如:

我想用userid = 2检索数据行

$userid =2;

然后使用给定的$ userid从数据库中获取用户电子邮件,名称,密码:

include("includes/connect.php");
$user = "SELECT * FROM account WHERE user_id = $userid " ;
$query = mysqli_query ($conn,  $user);        

while($result = mysqli_fetch_array ($query)){
      $name = $result['username'];
      $password = $result['user_password']; 
      $email = $result['user_email'];           
  }

然后我想将用户名= 2的用户名,密码和电子邮件发送到json中的移动应用程序。

那之后我该怎么办?

您需要使用json_encode传递数据:

$data = array();
while($result = mysqli_fetch_array ($query)){
  $data['username'] = $result['username'];
  $data['user_password'] = $result['user_password']; 
  $data['user_email'] = $result['user_email'];           
}

echo json_encode($data);

您也可以使用mysqli_fetch_assoc从数据库检索json数据:

$row=mysqli_fetch_assoc($query)
echo json_encode($row);

有关mysqli_fetch_assoc函数的更多信息。

注意,如果您确定只返回一行(在这种情况下,我认为仅会返回一行,因为通常user_id是唯一的),则无需使用while

首先,您需要添加此行header('Content-Type: application/json'); 将您的json文件输出到浏览器,并查看while循环中的更改,然后调用json_encode()函数

header('Content-Type: application/json');

include("includes/connect.php");
$user = "SELECT * FROM account WHERE user_id = $userid " ;
$query = mysqli_query ($conn,  $user);        

$json = array();

while($result = mysqli_fetch_array ($query)){
      $json['name'] = $result['username'];
      $json['password'] = $result['user_password']; 
      $json['email'] = $result['user_email'];           
  }

echo json_encode($json);

阅读以下文章的内容:

http://php.net/manual/en/function.json-encode.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM