2016-05-15 46 views
0

我目前對PHP和mySQL有一個很大的問題。我將編碼的系統移到了新的服務器上。雖然在舊服務器上一切正常,但我在新服務器上遇到了一些問題。特別是使用mySQL。雖然我幾乎解決了所有這些問題,但我有一個我無法控制的問題。經過2小時的試用後,我在互聯網上搜索了兩個小時,並多次更新了我的語法。但似乎沒有任何工作。所以現在我在這裏。我沒有問題地連接到數據庫,但我無法更新這些值。我希望你能幫助我。PHP mySQL更新不起作用

//Connect to mySQL Database 
$verbindung = mysql_connect($server, $username, $passwort); 
if (!$verbindung) { 
    echo "Couldn't connect: " . mysql_error(); 
} 
$name=$_POST['fuehrer']; 
$ident=$_POST['id']; 

//Debugging 
echo $name; 
echo $ident; 

$sql_befehl_0="UPDATE 'olgatermine' SET fuehrer = '".$name."' WHERE ID = '".$ident."';"; 


if (!mysql_query($verbindung, $sql_befehl_0)){ 
    echo "Couldn't write to database"; 


} 

//Close connection 
mysql_close ($verbindung); 
+0

看看你的http服務器錯誤日誌文件。那就是你可以真正閱讀確切問題的地方,而不是必須_guess_。如果沒有監視那個日誌文件,你就無法開發php。 – arkascha

+1

我看到你在更新中引用了一個字段名稱,但是肯定會在任何系統上出錯。 –

+2

另請注意,此代碼對sql注入攻擊廣泛開放。你真的想解決這個問題。最好通過停止使用舊的和長期棄用的'mysql _()'函數。使用'mysqli'擴展名或'PDO'包,並瞭解預處理語句和參數綁定的好處。 – arkascha

回答

1

什麼版本的php使用?因爲在最新版本的php中,mysql函數已被棄用/刪除,請改用mysqli。 嘗試在代碼末尾回顯一個mysqli_error,如果您的php版本接受mysql函數,也是mysql_error。

如果沒有版本的PHP的問題進行檢查:

錯誤的事情我在你的代碼中看到..:

$sql_befehl_0="UPDATE 'olgatermine' SET fuehrer = '".$name."' WHERE ID = '".$ident."';"; // wrong 
should be: 
$sql_befehl_0="UPDATE `olgatermine` SET `fuehrer` = '".$name."' WHERE ID = '".$ident."';"; 

你需要運行mysql_select_db('dbname')低於行你做的MySQL連接。 您可以設置文件的第一行:

ini_set('display_errors',1); 
error_reporting(E_ALL); 

顯示所有錯誤。

+0

非常感謝,現在終於有效了。 – Colin