我是新手在MYSQL中使用数据类型POINT所以我想在PHP中测试输出到表但我得到错误“Undefined index”。如何修复此错误并在表格中显示点?
错误消息 注意:未定义的索引:第23行的C:\ xampp \ htdocs \ view.php中的my_point
(这些点没有显示在表格中。我该如何解决这个问题?)
MYSQL表
/ *表highcharts_php
* /
CREATE TABLE `highcharts_php` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`run_name` varchar(150) DEFAULT NULL,
`my_point` POINT DEFAULT NULL,
`cur_timestamp` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=latin1;
SET time_zone='+00:00';
/*Data for the table `highcharts_php` */
insert into highcharts_php (`id`,`run_name`,`cur_timestamp`,`my_point`) values ( 1, 'SSTP Keystone COOPER','2012-06-28 00:00:01', GeomFromText( ' POINT(0.6 70.18) ' ) )
* PHP代码 *
<?php
$con = mysql_connect("localhost","root","xxxxxxxx");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("graph", $con);
/*$result = mysql_query("SELECT * FROM highcharts_php");*/
$result = mysql_query("SELECT run_name,cur_timestamp, x( my_point ), y( my_point ) FROM highcharts_php LIMIT 0 , 30")or die
(mysql_error());
echo "<table border='1'>
<tr>
<th>run_name</th>
<th>my_point</th>
<th>cur_timestamp</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['run_name'] . "</td>";
echo "<td>" . $row['my_point'] . "</td>";
echo "<td>" . $row['cur_timestamp'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
答案 0 :(得分:4)
您需要两个计算列的列别名:
$result = mysql_query("
SELECT
run_name,
cur_timestamp,
/* Column aliases via AS */
x( my_point ) AS my_point_x,
y( my_point ) AS my_point_y
FROM highcharts_php LIMIT 0 , 30") or die();
以$row['my_point_x'], $row['my_point_y']
访问它们。
如果没有列别名,它们将$row
中的$row['x( my_point )'], $row['y (my_point)']
作为SELECT
存在,与{{1}}列表中显示的完全相同。
答案 1 :(得分:1)
使用AS对来自X()
和Y()
的返回值进行别名,如下所示:
X( my_point ) AS x_value, Y( my_point ) AS y_value
然后在PHP中访问它们:
$row['x_value']
$row['y_value']
否则,您必须使用以下命令访问该列:
$row['X( my_point )']
或类似的内容 - 请参阅文档中的the example,了解如何根据您的查询动态生成列名。
答案 2 :(得分:1)
SELECT run_name,
cur_timestamp,
CONCAT(x( my_point ), ' ', y( my_point )) as my_point
FROM highcharts_php LIMIT 0 , 30