Javascript 更新MySQL数据库中的一个单元格时出现问题?
我有一个谷歌地图web应用程序,用户可以点击谷歌地图标记,在弹出的窗口中进行选择,然后点击提交。它使用AJAX使用用户选择的信息更新数据库。数据库中预先填充了标记名称和GPS坐标,并加载了这些名称。通过XML加载时,也会相应地放置标记 提交时,我无法使用用户选择的信息更新一行。目前,用户可以选择并提交某些内容,但它将更新该行中所有标记的所有内容;当我只想更新用户提交的相应标记的字段时。我不确定要使用的Javascript 更新MySQL数据库中的一个单元格时出现问题?,javascript,php,mysql,Javascript,Php,Mysql,我有一个谷歌地图web应用程序,用户可以点击谷歌地图标记,在弹出的窗口中进行选择,然后点击提交。它使用AJAX使用用户选择的信息更新数据库。数据库中预先填充了标记名称和GPS坐标,并加载了这些名称。通过XML加载时,也会相应地放置标记 提交时,我无法使用用户选择的信息更新一行。目前,用户可以选择并提交某些内容,但它将更新该行中所有标记的所有内容;当我只想更新用户提交的相应标记的字段时。我不确定要使用的WHERE语句是否正确。这是我当前的SQL语句,我正在尝试更新一行名为quest mysqli_
WHERE
语句是否正确。这是我当前的SQL语句,我正在尝试更新一行名为quest
mysqli_query($con, "UPDATE markers SET quest= '$questName' WHERE markerName = '$markerName'");
下面是我的相关ajax.php
:
<?php
include("connect.php");
require("call.php");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
} else {
}
$markerName = mysqli_real_escape_string($con, $_GET['markerName']);
$questName = mysqli_real_escape_string($con, $_GET['questName']);
$lat = mysqli_real_escape_string($con, $_GET['lat']);
$longg = mysqli_real_escape_string($con, $_GET['longg']);
mysqli_query($con, "UPDATE markers SET quest= '$questName' WHERE markerName = '$markerName'");
mysqli_close($con);
对此问题的任何帮助都将不胜感激。错误消息告诉您查看第7行的ajax.php
确保在GET变量中有键标记名
调用ajax.php
时,尝试传递查询字符串markerName
更新
确保数据库中存在具有指定的
markerName
的记录。我已修复了错误,但我的数据库仍然没有正确更新尝试找出发送到MySQL的实际SQL查询,以了解错误所在将要执行的SQL语句记录到文件中,然后尝试使用MySQL cli执行该语句。然后,如果工作正常,可以排除SQL代码
// Iterate through the rows, adding XML nodes for each
while ($row = mysqli_fetch_assoc($result)) {
global $dom, $node, $parnode;
// ADD TO XML DOCUMENT NODE
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("markerName", $row['markerName']);
$newnode->setAttribute("quest", $row['quest']);
$newnode->setAttribute("lat", $row['lat']);
$newnode->setAttribute("longg", $row['longg']);
}
header("Content-type: text/xml");
echo $dom->saveXML();