【发布时间】:2013-09-17 22:31:51
【问题描述】:
我在使用以下代码更新数据库时遇到问题。没有错误,而且我知道这不是数据库,因为我有另一个使用相同 &con 信息并从数据库返回数据的“GET”脚本。但是,数据库永远不会更新。
<?php
define("DB_DSN","xxx");
define("DB_HOST","xxx");
define("DB_USER","xxx");
define("DB_PASS","xxx");
$con = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die('Could not connect: ' .mysql_error());
mysql_select_db(DB_DSN) or die('Could not select database');
$id = base64_decode($_POST["id"]);
$deaths = base64_decode($_POST["deaths"]);
$sql = "UPDATE Level01 SET Deaths =' . $id .' WHERE DeathID= ' . $deaths . '" ;
$uresult = mysql_query($sql,$con);
if(! $uresult )
{
die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close($con);
exit;
谁能帮忙??
【问题讨论】:
-
您确定您的
$_POST变量符合您的预期吗?你确定它们是 Base64 编码的吗? -
将您的
UPDATE语句更改为"UPDATE Level01 SET Deaths ='" . $id . "' WHERE DeathID= '" . $deaths . "'"; -
谢谢你们的帮助......问题解决了! :)
-
你有一个 SQL 注入漏洞。