MySQL不会用php更新数据库数据

时间:2012-03-12 17:55:27

标签: php mysql phpmyadmin

我无法在更新表单中看到问题,但无论我做什么都不会更新我的数据库。 我希望有人在这里帮助我。

我尝试在更新语句之后使用mysql_error(),但没有发现错误,并尝试回显更新语句,但看不到任何问题。

网址= http://localhost/maga/php/update_red.php?id=6&read=14

<?php
$host="localhost";
$pass="*****";
$user="my_db_user";
$db="my_db_name";
$tblname="artikler";

$con=mysql_connect($host, $user, $pass)or die(mysql_error());
mysql_select_db($db)or die(mysql_error());

$read=(int)$_GET['read'];
$id=$_GET['id'];

$read++;

mysql_query("UPDATE $tblname SET read='$read' WHERE id='$id'");

&GT;

6 个答案:

答案 0 :(得分:2)

readreserved word,因此需要特别引用反引号才能在查询中使用

所以试试

if (!mysql_query("UPDATE $tblname SET `read`='$read' WHERE id='$id'"))
{
    die("update failed with error ".mysql_error());
}

此外,$ id值没有以任何方式进行清理,因此代码容易受到SQL注入攻击。绝对值得你花时间了解这些事情。

答案 1 :(得分:0)

尝试输出您的查询:

print("UPDATE $tblname SET read='$read' WHERE id='$id'");

此外,您的ID字段是否为数字?如果是这样,请删除周围的引号。

答案 2 :(得分:0)

做一件非常简单的事,echo "UPDATE $tblname SET read='$read' WHERE id='$id'";
尝试从phpmyadmin或用于编写mysql查询的任何工具运行查询。


看看它是否给你任何错误......

答案 3 :(得分:0)

您没有在mysql_query上传递数据库连接:

mysql_query("UPDATE $tblname SET read='".$read."' WHERE id='".$id."'", $con);

答案 4 :(得分:0)

试试这段代码:

<?php
$host="localhost";
$pass="*****";
$user="my_db_user";
$db="my_db_name";
$tblname="artikler";

mysql_connect($host, $user, $pass)or die(mysql_error());
mysql_select_db($db)or die(mysql_error());

$read=(int)$_GET['read'];
$id=$_GET['id'];

$read++;

mysql_query("UPDATE $tblname SET read='$read' WHERE id='$id'");

mysql_close();

?>

答案 5 :(得分:0)

试试这个

\\In your script add the below line and try whether its working
$con=mysql_connect($host, $user, $pass)or die(mysql_error());
mysql_select_db($db,$con)or die(mysql_error());