2016-05-15 6 views
0

私は現在、PHPとmySQLに非常に大きな問題があります。私はSystem Iを新しいサーバーに移動しました。以前のサーバーではすべて正常に動作しましたが、私は新しいサーバーにいくつか問題がありました。特にmySQLの場合。私がそれらのほとんどすべてを解決している間、私は私が握ることができないものを持っています。試して2時間後、私はさらに2時間インターネットを検索し、Syntaxを何度か更新しました。しかし、何も動作していないようです。だから私はここにいる。私は問題なくデータベースに接続しますが、値を更新することはできません。あなたが私を助けることを願っています。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の接続を行う行の下mysql_select_db('dbname')を実行する必要があります。すべてのエラーを表示するように

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

: あなたは、ファイルの最初の行に設定することができます。

+0

ありがとうございました。 – Colin

関連する問題