我有一个 PHP 文件,应该从 mysql 返回一个数组。问题是数组没有传递。
如果我查询 2 列或更多列,则数组为空。
<?php
//conection:
$mysqli = mysqli_connect("localhost","root","","imoveis") or die("Error " . mysqli_error($mysqli));
//consultation:
$query = "SELECT * FROM saomiguel" or die("Error in the consult.." . mysqli_error($mysqli));
//execute the query.
$result = mysqli_query($mysqli, $query);
//display information:
$response = array();
if (mysqli_num_rows($result) > 0) {
// looping through all results
// products node
$response["saomiguel"] = array();
while ($row = mysqli_fetch_array($result)) {
// temp user array
$product = array();
$product["id"] = $row["id"];
$product["second"] = $row["second"];
// push single product into final response array
array_push($response["saomiguel"], $product);
}
// success
$response["success"] = 1;
// echoing JSON response
echo json_encode($response);
} else {
// no products found
$response["success"] = 0;
$response["message"] = "No products found";
// echo no users JSON
echo json_encode($response);
// closing db connection
mysqli_close($mysqli);
}
?>
如果我在 while 循环内设置回显响应,它只返回一行。
注意:
刚刚发现错误!在我的一个专栏中,我有“Imóvel”,´ 给了我一个错误!我将其用作 varchar、大小 75、字符集 latin1。
字符集是否给我带来了问题?
编辑:
通过添加解决问题
$mysqli->set_charset("utf8");
最佳答案
您应该删除此行
//显示信息:
$response = array();
你能试试这个吗?并让我知道它是否有效。
<?php
//conection:
$mysqli = mysqli_connect("localhost","root","","imoveis") or die("Error " . mysqli_error($mysqli));
//consultation:
$query = "SELECT * FROM saomiguel" or die("Error in the consult.." . mysqli_error($mysqli));
//execute the query.
$result = mysqli_query($mysqli, $query);
if (mysqli_num_rows($result) > 0) {
// looping through all results
// products node
$response["saomiguel"] = array();
while ($row = mysqli_fetch_array($result)) {
// temp user array
$product = array();
$product["id"] = $row["id"];
$product["second"] = $row["second"];
// push single product into final response array
array_push($response["saomiguel"], $product);
}
// success
$response["success"] = 1;
// echoing JSON response
echo json_encode($response);
} else {
// no products found
$response["success"] = 0;
$response["message"] = "No products found";
// echo no users JSON
echo json_encode($response);
// closing db connection
mysqli_close($mysqli);
}
?>
关于PHP 数组没有返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29527531/