我是PHP,jQuery和SQL的新手,我正在尝试从我的数据库返回数据,以便在我的javascript文件中使用。出于某种原因,我的对象将作为字符串返回,即使值应该是浮点数。
我的数据库结构将此列设置为浮点数。
以下是我的PHP代码的一部分:
$q = "SELECT object FROM $tableName";
if($q === FALSE) {
die(mysql_error());
}
$sth = mysqli_query ($con, $q);
$rows = array();
while($r = mysqli_fetch_assoc($sth)) {
$rows[] = $r;
}
print json_encode($rows);
这是我的javascript:
$.get('PHP file URL', function(data) {
var object = JSON.parse(data);
但是,我得到以下(字符串)返回而不是浮点数:
[{"object":"34.416"},{"object":"34.589"},{"object":"33.3948"}]
我似乎无法找到已发布的同一问题。请让我知道我做错了什么。谢谢!
答案 0 :(得分:0)
你有两个选择
$q = "SELECT object FROM $tableName";
if($q === FALSE) {
die(mysql_error());
}
$sth = mysqli_query ($con, $q);
$rows = array();
while($r = mysqli_fetch_assoc($sth)) {
$rows[] = array('object'=> (float)$r['object'];
}
print json_encode($rows);
或在jquery中
$.get('PHP file URL', function(data) {
var object = [];
$.each(data, function(){
object.push(parseFloat(this.object))
});
var object = JSON.parse(data);
答案 1 :(得分:0)
快速解决方法是将列选项从无符号 ZeroFill 更改为空。