gpt4 book ai didi

javascript - 使用 PHP 的 MySQL 查询未返回预期数据

转载 作者:行者123 更新时间:2023-11-29 06:21:09 25 4
gpt4 key购买 nike

我正在尝试使用 PHP 访问 MySQL 数据库以填充 Javascript 数组,但该数组始终为空。之前,我有一个“www-data@localhost”访问错误,但无法弄清楚并回滚了代码。谁能分享任何见解?

JS:

var arrayPOIs = [];

function getPoints(){
$.get('getdata.php', function(data){
arrayPOIs = data;
});
}

获取数据.php:

$mysqli = new mysqli("localhost", "user", "pass", "test");

if (mysqli_connect_errno())
{
echo("Connect failed: ") . mysqli_connect_error();
exit();
}

$query = "SELECT * FROM points";

$result = mysqli_query($query) or die(mysqli_error());

$potential = mysqli_fetch_array($result);

echo json_encode($potential);

我试图将表的内容输出到一个数组。在我的浏览器控制台中,它总是显示为空。如:

arrayPOIs
""

我想我可能在数据库连接查询过程中遇到了一些问题。虽然,我对此很陌生,但我迷路了。有什么想法吗?

此外,如何以及在哪里可以实时检查 PHP 正在执行的操作,即错误消息?

编辑:

跟进评论:

  • 添加 “json” 作为第三个参数后,arrayPOIs var 变为(在 FF 的控制台中)Array [ ]

  • 我的 getdata.php 页面在直接访问时显示为空(空白)

编辑 2:

在 Niranjan N Raju 的帮助下 (+1),它已部分修复。我的查询调用中的 PHP 语法错误。现在,我的对象格式不正确。我得到:

{"0":"1","id":"1","1":"poi_teste1","name":"poi_teste1","2":"41.1953","latitude":"41.1953","3":"-8.60134","longitude":"-8.60134"}

但我需要类似 (JSON) 的东西:

name: poi_teste1,
latitude: 3464357247,
longitude: 247245672

对于表中的每一行,它是这样的:

id | name    | latitude | longitude
#1 | string | float | float
#2 | string | float | float
#3 | string | float | float
#4 | string | float | float

最佳答案

您在 mysqli_query() 中错过了连接对象

这样改

$result = mysqli_query($mysqli,$query) or die(mysqli_error());
^ ^

编辑

如果你得到超过 1 行,比如

array(
0 => id,name,lat and long,
1 => id,name,lat and long,
2 => id,name,lat and long,
);

对于上述结果,输出是正确的。要访问 ajax 中的值,请使用 for() 循环

另外,既然不需要索引,记得改成

$potential = mysqli_fetch_array($result);

$potential = mysqli_fetch_assoc($result);

更多信息在 fetch_assoc .

关于javascript - 使用 PHP 的 MySQL 查询未返回预期数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33219516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com