Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中未定义的索引和MYSQL中的数据类型点_Php_Mysql - Fatal编程技术网

PHP中未定义的索引和MYSQL中的数据类型点

PHP中未定义的索引和MYSQL中的数据类型点,php,mysql,Php,Mysql,我不熟悉在MYSQL中使用数据类型POINT,所以我想在PHP中测试表的输出,但是我得到了错误“Undefined index”。如何修复此错误并在表中显示点 错误消息 注意:第23行的C:\xampp\htdocs\view.php中的未定义索引:my_point (表中未显示这些点。如何解决此问题?) MYSQL表 /*表的表结构highcharts\u php*/ CREATE TABLE `highcharts_php` ( `id`

我不熟悉在MYSQL中使用数据类型POINT,所以我想在PHP中测试表的输出,但是我得到了错误“Undefined index”。如何修复此错误并在表中显示点

错误消息 注意:第23行的C:\xampp\htdocs\view.php中的未定义索引:my_point

(表中未显示这些点。如何解决此问题?)

MYSQL表

/*表的表结构
highcharts\u 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);
            ?> 

使用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 )']

或类似的内容-请参阅文档中的,以了解如何根据查询动态生成列名。

您需要为两个计算列提供列别名:

$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\u point\u x']和$row['my\u point\u y']的形式访问它们。

如果没有列别名,它们将以
$row
的形式存在于
$row['x(my_point)”、$row['y(my_point)]
中,与它们在
选择列表中的显示完全相同

SELECT run_name,
cur_timestamp, 
CONCAT(x( my_point ), ' ', y( my_point )) as my_point 
FROM highcharts_php LIMIT 0 , 30