2016-05-15 18 views
0

Ich habe derzeit ein sehr großes Problem mit PHP und mySQL. Ich habe ein System I-Code auf einen neuen Server übertragen. Und während auf dem alten Server alles funktionierte, hatte ich auf dem neuen Server einige Probleme. Vor allem mit mySQL. Während ich fast alle von ihnen gelöst habe, habe ich eine, die ich nicht zu halten scheint. Und nach 2 Stunden versuchte ich im Internet für weitere zwei Stunden und aktualisierte meine Syntax mehrmals. Aber nichts scheint zu funktionieren. So, jetzt bin ich hier. Ich bekomme problemlos eine Verbindung zur Datenbank, aber ich kann die Werte nicht aktualisieren. Ich hoffe ihr könnt mir helfen.PHP mySQL Update funktioniert nicht

//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

Werfen Sie einen Blick in Ihre HTTP-Server-Fehlerprotokolldatei. Das ist, wo Sie tatsächlich lesen können, was das genaue Problem ist, anstatt _guess_ zu müssen. Sie können nicht in PHP entwickeln, ohne diese Protokolldatei zu überwachen. – arkascha

+1

Ich sehe, Sie geben einen Feldnamen in Ihrem Update, aber das würde sicherlich einen Fehler auf jedem System geben. –

+2

Beachten Sie auch, dass dieser Code für SQL-Injection-Angriffe weit offen ist. Du willst das wirklich reparieren. Am besten, indem Sie aufhören, die alten und lange veralteten mysql _() '-Funktionen zu verwenden. Verwenden Sie entweder die Erweiterung 'mysqli' oder das Paket' PDO' und informieren Sie sich über die Vorteile der vorbereiteten Anweisungen und der Parameterbindung. – arkascha

Antwort

1

Welche Version von PHP verwenden? Da in den neuesten PHP-Versionen die mysql-Funktionen veraltet sind, verwende stattdessen mysqli. Versuchen Sie, einen mysqli_error am Ende des Codes zu wiederholen, auch mysql_error, wenn Ihre PHP-Version mysql-Funktionen akzeptiert.

Wenn nicht Version von PHP ist das Problem, Check this:

Falsche Dinge, was ich in Ihrem Code zu sehen ..:

$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."';"; 

Sie müssen mysql_select_db('dbname') unterhalb der Linie laufen Sie tun, um die MySQL-Verbindung. Sie können an der ersten Zeile der Datei festgelegt:

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

alle Fehler zu zeigen.

+0

Vielen Dank, es funktioniert jetzt endlich. – Colin