将数组传递回javascript

Posted

技术标签:

【中文标题】将数组传递回javascript【英文标题】:Passing array back to javascript 【发布时间】:2018-04-05 02:34:57 【问题描述】:

美好的一天! 我有一个数据库,其中包含用户数据,例如:“用户名、密码、纬度和经度”,所以我要做的是选择用户名、纬度和经度列中的所有数据,将它们放在一个数组中并以 json 格式将其回显到我的设备。

<?php
    $con=mysqli_connect("myhost", "tablename", "password", "databasename");
    $statement = mysqli_prepare($con, "SELECT username, latitude, longitude FROM user");
    mysqli_stmt_execute($statement);

    $response = array();
    $response["success"] = false;

    while($row = mysql_fetch_assoc($statement))
        $response[] = $row;
    

    echo json_encode($response);

    mysqli_stmt_close($statement);
    mysqli_close($con);
?>

此代码不会执行并将结果存储到变量中,非常感谢任何帮助。谢谢!

【问题讨论】:

我建议您阅读how to ask perfect question,然后在问题被否决和埋葬之前快速相应地编辑您的问题。 你不是executing查询 “不起作用”不是错误或问题陈述。究竟会发生什么?它哪里出错了?您收到了哪些错误消息和/或意外行为?这个 PHP 代码的问题,在接收它的客户端代码中吗? “不起作用”是用户会对您说的话……您是一名程序员,因此您需要根据您迄今为止进行的调试提供合适的技术信息。但正如 Will 上面所说,很明显您从未运行过查询。如果您对此进行了详细调试,您可能已经意识到了这一点。 接下来的问题是你有一个错字 - mysql_fetch_assoc 应该是 mysqli_fetch_assoc。也许查看介绍性教程,该教程向您展示如何使用 mysqli 语句编写查询,并确保您的代码遵循所有步骤。网上有很多例子,只要稍微研究一下,正确的过程就不应该是个谜。 如果你抛出一些错误日志,这两个问题都会很明显; error_reporting(E_ALL); ini_set('display_errors', 1);。希望你下次学习 【参考方案1】:

只要填空;)

让我们逐行开始

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);

以更多的 OOP 方式连接

$conn = new mysqli("localhost", "root", "password", "db_name");

执行您的查询

$result = $conn->query("SELECT username, latitude, longitude FROM user");

将mysql结果存储到变量中

$rows = array();
while($row = $result->fetch_assoc()) 
    $rows[] = $row;

显示你的 json

echo json_encode($rows);

清理内存

$result->free();
$conn->close();

【讨论】:

请不要使用die报错。 PHP error reporting basics

以上是关于将数组传递回javascript的主要内容,如果未能解决你的问题,请参考以下文章

将 PHP $_POST 数组传递给 javascript/jQuery 以通过 ajax 发送回 PHP

如何将 NSURLRequest 的结果传递回包含类 [重复]

在设置子组件的数组状态并将其通过反应测验传递回父组件时出现问题

将 JSON 数组传递给 WCF Web 服务

JNI维数组:将二维数组从java传递给c

Laravel JavaScript 将数组从后端传递到 JavaScript 中的数组