【发布时间】:2017-09-03 04:19:55
【问题描述】:
我正在尝试从 users 表中获取数据,但 PHP 显示空白页并且没有错误。我哪里错了?我是 PHP 新手。
<?php
$host ="localhost";
$database="xyz"; //I am sure that here is true
$username="xyz"; //I am sure that here is true
$password="xyz"; //I am sure that here is true
$sql = "select * from users;";
$con = mysqli_connect($host,$username,$password,$database);
$result = mysqli_query($con,$sql);
$response = array();
while($row=mysqli_fetch_array($result)){
array_push($response,array("name" => $row[0],"email" => $row[1],"contact" => $row[2],"password" => $row[3]));
}
echo json_encode(array("server_response" =>$response));
mysqli_close($con);
?>
编辑
我在 while 循环中添加了var_dump($row);
<?php
error_reporting(-1);
ini_set('display_errors', 'On');
$host ="localhost";
$database="gurkanc1_sample";
$username="gurkanc1_sample";
$password="Sample123";
$sql = "select * from users;";
$con = mysqli_connect($host,$username,$password,$database);
$result = mysqli_query($con,$sql);
$response = array();
while($row=mysqli_fetch_array($result)){
array_push($response,array("name" => $row[0],"email" => $row[1],"contact" => $row[2],"password" => $row[3]));
var_dump($row);
}
echo json_encode(array("server_response" =>$response));
mysqli_close($con);
?>
现在显示了,
> array(8) { [0]=> string(3) "asd" ["name"]=> string(3) "asd" [1]=>
> string(3) "asd" ["email"]=> string(3) "asd" [2]=> string(2) "aa"
> ["contact"]=> string(2) "aa" [3]=> string(2) "aa" ["password"]=>
> string(2) "aa" } array(8) { [0]=> string(13) "Merhaba D�nya"
> ["name"]=> string(13) "Merhaba D�nya" [1]=> string(7) "Merhaba"
> ["email"]=> string(7) "Merhaba" [2]=> string(7) "Merhaba"
> ["contact"]=> string(7) "Merhaba" [3]=> string(7) "Merhaba"
> ["password"]=> string(7) "Merhaba" } array(8) { [0]=> string(0) ""
> ["name"]=> string(0) "" [1]=> string(0) "" ["email"]=> string(0) ""
> [2]=> string(0) "" ["contact"]=> string(0) "" [3]=> string(0) ""
> ["password"]=> string(0) "" } array(8) { [0]=> string(2) "ss"
> ["name"]=> string(2) "ss" [1]=> string(2) "ss" ["email"]=> string(2)
> "ss" [2]=> string(2) "ss" ["contact"]=> string(2) "ss" [3]=> string(1)
> "s" ["password"]=> string(1) "s" } array(8) { [0]=> string(4) "axac"
> ["name"]=> string(4) "axac" [1]=> string(3) "qdq" ["email"]=>
> string(3) "qdq" [2]=> string(4) "egeg" ["contact"]=> string(4) "egeg"
> [3]=> string(3) "wff" ["password"]=> string(3) "wff" } array(8) {
> [0]=> string(7) "merhaba" ["name"]=> string(7) "merhaba" [1]=>
> string(7) "nerbaba" ["email"]=> string(7) "nerbaba" [2]=> string(3)
> "cii" ["contact"]=> string(3) "cii" [3]=> string(4) "asdf"
> ["password"]=> string(4) "asdf" } array(8) { [0]=> string(1) "g"
> ["name"]=> string(1) "g" [1]=> string(1) "e" ["email"]=> string(1) "e"
> [2]=> string(2) "er" ["contact"]=> string(2) "er" [3]=> string(1) "r"
> ["password"]=> string(1) "r" } array(8) { [0]=> string(2) "sd"
> ["name"]=> string(2) "sd" [1]=> string(2) "sd" ["email"]=> string(2)
> "sd" [2]=> string(3) "dsd" ["contact"]=> string(3) "dsd" [3]=>
> string(0) "" ["password"]=> string(0) "" }
【问题讨论】:
-
日志是怎么说的?
-
开启 php 错误报告。错误报告(E_ALL); ini_set('display_errors', '1');
-
mysqli_error($con)的内容是什么? -
以 array_push($response,array("name" => $row[0], 开头的行中的一个建议,使用列名而不是索引。如果表定义改变,索引也会改变。IOW 代替 $row[0],使用 $row['name']。
-
�好像您的mysqli连接不是 UTF8。
标签: php mysql arrays json mysqli