0
我有一個頁面,我可以通過一個窗體和MySQL的PHP更新。我更新了db呼叫從require "master.db.php";
到require $_SERVER['DOCUMENT_ROOT'].'/include/master.db.php';
更新MySql數據庫
當我處理表單更新但頁面重新加載更新不存在時,我收到「成功更新」消息。沒有錯誤被拋出,所以它不清楚爲什麼數據庫沒有進行更新。使用phpMyAdmin檢查MySql數據庫,並能夠直接更新數據庫沒有麻煩?
由於這個問題只會影響'更新'和'刪除',所以我處於完全喪失狀態。我有一個正確工作的「添加條目」表單,其數據庫調用代碼與其他代碼相同。我已經嘗試回滾到舊的代碼,但問題仍然存在。嘗試重新啓動瀏覽器並清除現金。有任何建議嗎?
<?php
// connect to datebase
require $_SERVER['DOCUMENT_ROOT'].'/include/master.db.php';
// real escape all strings
$season_num = mysql_real_escape_string($_POST['season_num']);
$eps_num = mysql_real_escape_string($_POST['eps_num']);
$temp_eps_num = mysql_real_escape_string($_POST['temp_eps_num']);
$title = mysql_real_escape_string($_POST['title']);
$inspired = mysql_real_escape_string($_POST['inspired']);
$descrip = mysql_real_escape_string($_POST['descrip']);
// update data in mysql database
$sql="UPDATE season SET season_num='$season_num', eps_num='$eps_num', temp_eps_num='$temp_eps_num', title='$title', inspired='$inspired', descrip='$descrip' WHERE ID='$id'";
$result=mysql_query($sql);
// if successfully updated.
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='example.html'>View result</a>";
touch('../example.html');
clearstatcache();
}
else {
echo "Whoops: " . mysql_error(); ;
}
mysql_close();
?>
[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。 – Kermit
如果更改在數據庫中提交,但您的瀏覽器未顯示它們,則它是要提取數據的代碼或瀏覽器正在緩存頁面的代碼。 – Kermit
這就是問題,分貝沒有得到改變。當我查看phpmyadmin中的db時,我沒有看到我的更新,但沒有發現任何錯誤和「成功更新」的聲明。 我試圖添加 //如果成功更新。 if($ result){ echo「Successful」; echo「
」; 回聲「更新:」。 $結果。 「
」; echo「View result」; touch('../ episodelist.html'); clearstatcache(); } 看到什麼被傳遞到服務器,它所吐出的是「更新:」 –