我设法解决我的旧错误,所以我要用新错误更新这个帖子。基本上我必须手动添加一个phpmyadmin中的结构与我的用户ID,以便使用此代码进行更新。因为我将它设置为更新任何与用户标识相同的列。随机SQL更新问题
任何想法我可以做不同的做法,所以有一些sorta默认自动?我尝试了这样做,所以当你注册它会做到这一点,并且运作良好,但我将有多达10个不同的主题,所以我如何以更有效的方式做到这一点?
<?php
include 'connect.php';
include 'main.php';
$id = $_SESSION['id'];
$result3 = mysql_query("SELECT * FROM html WHERE id='$id'") or die("MYSQL Query Failed : " .mysql_error());
while($row3 = mysql_fetch_array($result3))
{
$lastpage=$row3['lastpage'];
}
$page = "page1.php";
$sql = "UPDATE html SET id='$id', lastpage='$page' WHERE id='$id'";
mysql_query($sql) or die("MYSQL Query Failed : " . mysql_error());
echo $lastpage;
?>
另一件事我想搞清楚的是,如果我可以把它检查数据库的价值下的“尾”和我一样,但然后检查它是否等于2页及以上的也不会更新值。基本上它只会更新值,如果这是你第一次去你的帐户页面。得到它?
任何人有任何想法?
您认为这样会有效吗?
<?php
include 'connect.php';
include 'main.php';
$id = $_SESSION['id'];
$result3 = mysql_query("SELECT * FROM html WHERE id='$id'") or die("MYSQL Query Failed : " . mysql_error());
while($row3 = mysql_fetch_array($result3))
{
$lastpage=$row3['lastpage'];
}
$page = "page1.php";
if(empty($lastpage)){
mysql_query("INSERT INTO `html`.`html` (`id`, `lastpage` VALUES ($id, $page");
} else {
$sql = "UPDATE html SET id='$id', lastpage='$page' WHERE id='$id'";
mysql_query($sql) or die("MYSQL Query Failed : " . mysql_error());
}
echo $lastpage;
?>
**通过建立与外部变量的SQL语句,你离开自己敞开SQL注入式攻击。**另外,任何输入带有单引号的数据,如“O'Malley”的名称,将炸毁您的SQL查询。请了解使用参数化查询(最好是使用PDO模块)来保护您的Web应用程序。 http://bobby-tables.com/php有例子让你开始,并且[这个问题](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in- php)有很多例子的细节。 –
我只是试着去尝试并使之成功。我只想知道我做了什么,这是不正确的工作。虽然我会阅读,因为我需要了解更多。你认为你可以向我展示一个正在工作的更安全版本的代码示例吗? –
你不会说错误是什么,或者什么“不能正常工作”的意思。 –