这是我的mysql查询:
mysql_query("INSERT INTO Coordenadas (ID, LAT, LNG, DESCRICAO) VALUES ($id, $coords[1], $coords[0], $string_cortada)");
当我回复$ id,$ coords [0],$ coords [1]和$ string_cortada时:
echo '</br>$id:'.$id.'</br>coordenadas:'.$coords[1].','.$coords[0].'</br>string: ' . $string_cortada;):
这就是我得到的:
$id: 1
coordenadas:-22.9028102,-43.2498512
string: marechal rondon
$id: 2
coordenadas:-22.9824202,-43.3605722
string: rua joana angelica
$id: 3
coordenadas:-22.8866218,-43.3699090
string: passarela barra
工作数据,但是当我这样做时:
mysql> select * from coordenadas;
这是输出:
+----+------+-------------+-------------+-----------+------+
| ID | TIPO | LAT | LNG | DESCRICAO | DATA |
+----+------+-------------+-------------+-----------+------+
| 2 | NULL | -22.8544942 | -43.5350719 | 1 | NULL |
+----+------+-------------+-------------+-----------+------+
DESCRICAO没有工作,TIPO没有工作,只有LAT和LNG,我找不到原因!!
这是coordenadas表格描述:
mysql> desc coordenadas;
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| TIPO | varchar(15) | YES | | NULL | |
| LAT | double | NO | | NULL | |
| LNG | double | NO | | NULL | |
| DESCRICAO | varchar(150) | YES | | NULL | |
| DATA | date | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
感谢
答案 0 :(得分:4)
SQL查询中有错误:
mysql_query("INSERT INTO Coordenadas (ID, LAT, LNG, DESCRICAO) VALUES ($id, $coords[1], $coords[0], $string_cortada)");
$ string_cortada需要用语音标记封装,因为它是一个字符串。将其更改为:
mysql_query("INSERT INTO Coordenadas (ID, LAT, LNG, DESCRICAO) VALUES ($id, $coords[1], $coords[0], '$string_cortada')");
对于将来的调试我会在PHP中编写SQL查询,如下所示:
$sql = "INSERT INTO Coordenadas (ID, LAT, LNG, DESCRICAO) VALUES ($id, $coords[1], $coords[0], '$string_cortada')"
$result = mysql_query($query)
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
通过这种方式,您可以查看发送到数据库的查询的外观,并在发生错误时查看错误原因。这可以帮助您快速识别任何未来的格式错误。
要删除周围(开头和结尾)字符串的空白区域,可以使用trim()方法:
$text = trim($text);
要从字符串中删除所有空格,您可以使用preg_replace,如下所示:
$text = preg_replace('/ /', '', $text);
答案 1 :(得分:1)
您没有在输入中指定TIPO - 查询... 对于DESCRICAO尝试使用单引号,如
VALUES ($id, $coords[1], $coords[0], '$string_cortada')