Apache2 旧的xamp服务器是否不允许json或创建任何问题
我使用最新的xamp在localhost上运行我的页面,它从表中获取数据并创建json字符串。用于谷歌图表创建。 在localhost上,它工作得很好 同样的代码,我放在LinuxEC2实例上的数据库。它接受了错误的json字符串,并且没有给出结果 是因为xamp版本的不同吗 Localhost有Apache2 旧的xamp服务器是否不允许json或创建任何问题,apache2,php,amazon-ec2,xampp,json,Apache2,Php,Amazon Ec2,Xampp,Json,我使用最新的xamp在localhost上运行我的页面,它从表中获取数据并创建json字符串。用于谷歌图表创建。 在localhost上,它工作得很好 同样的代码,我放在LinuxEC2实例上的数据库。它接受了错误的json字符串,并且没有给出结果 是因为xamp版本的不同吗 Localhost有php5.4.16和ec2服务器php5.3.8 代码是: <?php $mysqli =mysqli_connect('127.0.0.1:3306', 'root', 'root', 'tes
php5.4.16
和ec2服务器php5.3.8
代码是:
<?php
$mysqli =mysqli_connect('127.0.0.1:3306', 'root', 'root', 'test');
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: ".mysqli_connect_error();
}
$result = $mysqli->query('SELECT * FROM view_name');
$rows = array();
$table = array();
$table['cols'] = array(
array('label' => 'pcount', 'type' => 'string'),
array('label' => 'ncount', 'type' => 'number')
);
/* Extract the information from $result */
foreach($result as $r) {
$temp = array();
$temp[] = array('v' => (string) $r['ind_type']);
$temp[] = array('v' => (int) $r['Index_val']);
$rows[] = array('c' => $temp);
}
$table['rows'] = $rows;
// convert data into JSON format
//$jsonTable = json_encode($table);
$jsonTable = json_encode($table);
echo $jsonTable;
?>
在ec2实例上运行时的json字符串:
{"cols":[{"label":"pcount","type":"string"},{"label":"ncount","type":"number"}],"rows":[{"c":[{"v":""},{"v":0}]},{"c":[{"v":""},{"v":0}]},{"c":[{"v":""},{"v":0}]},{"c":[{"v":""},{"v":0}]},{"c":[{"v":""},{"v":0}]}]}
表格如下:
+----------+-----------+
| ind_type | Index_val |
+----------+-----------+
| pcount | 179 |
| ncount | 237 | which is same on localhost and ec2 instance.
+----------+-----------+
我可能是错的,因为我使用pdo而不是mysqli,但您不应该执行
$result->fetch_assoc()
来获取关联数组,如这里所述:
顺便说一下,我认为你混合了面向对象风格和过程风格。请参见php.net上的示例1和示例2。我可能错了,因为我使用pdo而不是mysqli,但您不应该执行
$result->fetch_assoc()
来获得如下所述的关联数组:
顺便说一下,我认为你混合了面向对象风格和过程风格。请参见php.net上的示例1和示例2。也许你应该做一个
print\r($result)
并将其发布到这里,看看您的结果是否真的符合您的预期。也许您应该执行打印($result)
并将其发布到此处,以查看您的结果是否真的符合预期。
+----------+-----------+
| ind_type | Index_val |
+----------+-----------+
| pcount | 179 |
| ncount | 237 | which is same on localhost and ec2 instance.
+----------+-----------+
if ($result = $mysqli->query($query)) {
/* fetch associative array */
while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
/* free result set */
$result->free();
}