我設法解決我的舊錯誤,所以我要用新錯誤更新這個帖子。基本上我必須手動添加一個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)有很多例子的細節。 –
我只是試着去嘗試並使之成功。我只想知道我做了什麼,這是不正確的工作。雖然我會閱讀,因爲我需要了解更多。你認爲你可以向我展示一個正在工作的更安全版本的代碼示例嗎? –
你不會說錯誤是什麼,或者什麼「不能正常工作」的意思。 –