【发布时间】:2019-03-04 09:59:32
【问题描述】:
我正在尝试使用将从 mySQL 数据库中获取数据的代码将该数据绑定到一个变量,将所有生成的 $x 放入 PHP 数组中,最后将其转换为 JSON 格式。然后我将 JSON 转换为 javascript 来处理来自那里的数据库中的数据。
请看我的代码:
<?php
//bind to $x
$mysqli = new mysqli('localhost', 'root', 'root', 'mytable');
if ($stmt = $mysqli->prepare("SELECT x FROM data")) {
$stmt->bind_result($x);
$OK = $stmt->execute();
}
//put all of the resulting $x into a PHP array
$result_array = Array();
while($stmt->fetch()) {
$result_array[] = $x;
}
//convert the PHP array into JSON format, so it works with javascript
$json_array = json_encode($result_array);
if ($stmt = $mysqli->prepare("SELECT data.y FROM data")) {
$stmt->bind_result($y);
$OK = $stmt->execute();
}
//put all of the resulting y into a PHP array
$result_array = Array();
while($stmt->fetch()) {
$result_array[] = $y;
}
//convert the PHP array into JSON format, so it works with javascript
$json_array2 = json_encode($result_array);
?>
<script>
var xv = <?php echo $json_array; ?>;
var yv = <?php echo $json_array2; ?>;
var storage = [];
for(var i=0;i<100;i++)
{
var x = xv[i];
var y = yv[i];
var json = {x: x, y: y};
storage.push(json);
}
我的问题是为什么页面将其显示为输出而不将数据传输到数组
"prepare("SELECT x FROM data")) { $stmt->bind_result($x); $OK = $stmt->execute(); } //将所有结果名称放入 PHP 数组 $ result_array = Array(); while($stmt->fetch()) { $result_array[] = $x; } //将PHP数组转换成JSON格式,所以可以和javascript一起使用 $json_array = json_encode($result_array); /* if ($stmt = $mysqli->prepare("SELECT data.y FROM data")) { $stmt->bind_result($y); $OK = $stmt->execute(); } //把所有将结果名称转换为 PHP 数组 $result_array = Array(); while($stmt->fetch()) { $result_array[] = $y; } //将 PHP 数组转换为 JSON 格式,因此它可以与 javascript 一起使用$json_array2 = json_encode($result_array); */ ?>"
【问题讨论】:
-
您有问题吗?
-
因为 x 和 y 都来自同一张表,请执行
select x,y ....并在一个查询中完成所有操作 -
从这个
var xv = "<?php echo $json_array; ?>";中删除引用,它是一个javascript对象,所以var xv = <?php echo $json_array; ?>; -
好的,我进行了这些更改,并编辑了我的问题是什么问题仍然存在。我无法理解为什么它将代码显示为输出
-
我认为这似乎是错误的,$x 和 $y 应该在这里有值 $stmt->bind_result($x);这里是 $stmt->bind_result($y);
标签: javascript php mysql arrays json