【问题标题】:Trouble getting array back from JSON call to SQL无法从 JSON 调用返回数组到 SQL
【发布时间】:2013-11-28 01:57:36
【问题描述】:

只是试图从按“cnt”排序的“guesses”表中获取所有内容并将其转换为 javascript 数组。但是,它无法给我任何我可以使用的东西。

PHP 文件:

<?php 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = 'root'; 
$dbname = 'words'; 
$dbtable = 'guesses'; 

//------ DATABASE CONNECTION --------// 
mysql_connect($dbhost,$dbuser,$dbpass) 
or die ("Unable to connect to database"); 

mysql_select_db($dbname) 
or die ("Unable to select database"); 

$sql = "SELECT * FROM $dbtable ORDER BY cnt ASC";
$result = mysql_query($sql);

while($array = mysql_fetch_assoc($result)) {
    echo json_encode($array);
}

?> 

JavaScript:

    $.getJSON('grab.php', function(response) {
    // response is a JSON object that contains all the info from sql query
    // tried so much stuff here... no avail.
        console.log(response);
})

控制台什么也没说。 phpmyadmin 控制台中的“SELECT * FROM guesses ORDER BY cnt ASC”确实返回正确的条目和顺序。

编辑:我也试过了

<?php 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = 'root'; 
$dbname = 'words'; 
$dbtable = 'guesses'; 

//------ DATABASE CONNECTION --------// 
mysql_connect($dbhost,$dbuser,$dbpass) 
or die ("Unable to connect to database"); 

mysql_select_db($dbname) 
or die ("Unable to select database"); 

$sql = "SELECT * FROM $dbtable ORDER BY cnt ASC";
$result = mysql_query($sql);

while($array = mysql_fetch_assoc($result));
echo json_encode($array);

?> 

这可能在语法上更好(???)但它返回“false”到控制台,没有别的。

【问题讨论】:

  • 你在 dbtable 中的字段是什么
  • id、word、cnt是我的三个字段
  • alert(response.Id) 有什么作用吗?
  • 只能向客户端发送一个 json 字符串,每次循环都在发送
  • alert(response.id) 返回未定义

标签: javascript php mysql sql json


【解决方案1】:

您在错误的位置编码 json。

$arr=array();
while($array = mysql_fetch_assoc($result)) {
    array_push($arr,$array);
}
echo json_encode($arr);

试试这个

【讨论】:

  • 嗯仍然返回 false :/
  • 当我 console.log 响应时,它只是说 false。
  • 尤里卡!做得好。现在要弄清楚如何解析它,以便我的前端大脑可以利用它。想法? ;-)
  • $.each 超过响应
  • 你最好先尝试一下...:))
猜你喜欢
  • 2021-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多