php脚本没有更新mysql行

时间:2012-03-23 23:59:46

标签: php mysql

我正在尝试更新数据库中的一行,但它没有运行。

下面是我从ajax调用中获取值的当前脚本。 我检查了电话,它正在发送正确的信息。 知道我在脚本顶部有连接值,但在这里没有包含它们。

// Opens a connection to a MySQL server
$connection = mysql_connect($host, $username, $password);
   if (!$connection) {
 die("Not connected : " . mysql_error());
}   // Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
  if (!$db_selected) {
die("Can\'t use db : " . mysql_error());
}
// Store INFORMATION

    $name = $_POST['name'];
    $website = $_POST['website'];
    $address = $_POST['address'];
    $request_url = $base_url . "&q=" . urlencode($address);
    $csv = file_get_contents($request_url) or die("url not loading");
    $csvSplit = split(",", $csv);
    $status = $csvSplit[0];
    $lat = $csvSplit[2];
    $lng = $csvSplit[3];
    $state = $_POST['state'];
    $ident = $_POST['ident'];
 $query = "UPDATE  markers SET  name =  '".$name."', website =  '".$website."',address =  '".$address."',lat =  '".$lat."',lng =  '".$lng."',state =  '".$state."'WHERE id = '" . $ident . "'";
  mysql_query($query) or die(mysql_error());

?>

我还是很新,有人可以解释为什么它不起作用吗?

3 个答案:

答案 0 :(得分:2)

你应该在这个引号中加上名称,网站等字段名称:` 而且你应该只在单词之间使用一个空格,并且可以在WHERE之前添加一个空格。

答案 1 :(得分:1)

你需要在'where'之前添加空格

答案 2 :(得分:0)

如果您的id字段是一个数字,则不应引用您要比较的值,此处:

WHERE id = '" . $ident . "'";

这样做:

WHERE id = " . $ident;

一个经常被忽视的测试,让您的脚本回显出正在运行的实际查询,然后获取该查询字符串并直接针对数据库服务器运行 - 在您的情况下,在phpMyAdmin中针对您的MySQL服务器。