UPDATE bei MySQL Datenbank funktioniert nicht
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
abfragen
altes kennwort
benutzer
code
dank
datenbank
datum
eintrag
eintragen
ergebnis
fehler
jemand
kennwort
login
page
set
update
url
versuch
-
Hallo,
ich habe ein Problem mit einer MySQL Abfrage. Diese wird aus den eingegebenen Daten des Benutzers erstellt:
UPDATE login SET `Alias` = 'Yanniick', `passwort` = 'b4a6ae7ce6822a3cbc5bbe4794013351' WHERE `login`.`ID` = 1;
jedoch wird kein Datensatz geändert. Die Abfrage im PHP liefert aber TRUE zurück.
Wenn ich diese Abfrage mauell im PHPMyAdmin eingebe funktioniert es aber.
Hier noch der PHP Code:
//Daten sammeln $page = $_GET['page']; //Seite $user = $_GET['user']; //Benutzer $alias= $_POST['Alias']; //Alias $Apw = $_POST['Apasswort']; //Altes Kennwort $Npw1 = $_POST['Npasswort1']; //Neues Kennowrt $Npw2 = $_POST['Npasswort2']; $con = mysqli_connect("mysql.lima-city.de","*********","*********", "*********"); echo $user."<br/>"; echo $alias."<br/>"; if($page == "PW") { //Falls Seite PW ist echo 'OK1'; $abfrage = "SELECT * FROM login WHERE username LIKE '$user'"; //Altes Kennwort und ID abfragen $ergebnis = mysqli_query($con, $abfrage) or die(mysqli_error($con)); while($row = mysqli_fetch_object($ergebnis)) { echo 'OK2'; $Apw = md5($Apw); //Eigegebenes Kennwort mit md5 verschlüsseln $ID = $row->ID; //ID und Kennwort aus Datenbank speichern $pwDb = $row->passwort; if($Apw == $pwDb) { //Altes PW und das aus der DB prüfen echo 'OK3'; if($Npw1 == $Npw2) { //Neues Kennwort prüfen echo 'OK4'; $Npw1 = md5($Npw1); //Neues Kennwort verschlüsseln $eintrag = "UPDATE login SET `Alias` = '$alias', `passwort` = '$Npw1' WHERE `login`.`ID` = $ID;"; $eintragen = mysqli_query($con, $abfrage) or trigger_error('Fehler in Query "'.$eintrag.'". Fehlermeldung: '. mysqli_error($con),E_USER_ERROR); //Neue Daten eintragen if($eintragen == true) {//Wenn erfolgreich dann wieder zurück echo "<br/>".$eintrag."<br/>"; echo 'OK5'; //echo '<html><head><meta http-equiv="refresh" content="0; URL=index.php?inf=1"></head></html>'; } else { //ansonsten mit Error zurück echo 'OK6'; //echo '<html><head><meta http-equiv="refresh" content="0; URL=index.php?inf=2"></head></html>'; } } else { echo 'OK7'; //echo '<html><head><meta http-equiv="refresh" content="0; URL=index.php?inf=3"></head></html>'; } } else { echo 'OK8'; //echo '<html><head><meta http-equiv="refresh" content="0; URL=index.php?inf=4"></head></html>'; } } }
Und hier die Ausgabe:
Yannick Yanniick OK1OK2OK3OK4 UPDATE login SET `Alias` = 'Yanniick', `passwort` = 'b4a6ae7ce6822a3cbc5bbe4794013351' WHERE `login`.`ID` = 1; OK5
Hoffe mir kann jemand helfen, bin schon fast am verzweifeln...
Gruß Yannick
Beitrag zuletzt geändert: 16.8.2014 1:33:39 von ybook -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo ybook.
$eintrag = "UPDATE login SET `Alias` = '$alias', `passwort` = '$Npw1' WHERE `login`.`ID` = $ID;"; $eintragen = mysqli_query($con, $abfrage) ...
Hier liegt der Fehler. Du führst die Abfrage aus der falschen Variable aus.
Dein Skript ist außerdem unsicher. Informiere dich über sql-injection.
Beitrag zuletzt geändert: 16.8.2014 16:48:27 von fuerderer -
ybook schrieb:
Ok Danke,
von SQL Injection hab ich bisher nichts gehört werden mich da aber schlau machen und meine Abfragen überprüfen.
Gruß Yannick
Sehr wichtig. Nachdem ein Projekt von mir online gegangen ist, schlug bereits jemand zu... meine ganze Datenbank war überschrieben mit vielen 0en...
Es gibt sogar Leute, die schreiben Script, die das automatisch erledigen
Auf jeden fall habe ich hier www.fiverr.com für wenig Geld jemanden meine Skripte absichern lassen. -
Ich habs mal mit
probiert, aber dann bekomm ich den Fehler 405...mysql_real_escape_string
Beitrag zuletzt geändert: 16.8.2014 22:06:34 von ybook -
Versuch mal mysqli_real_escape_string (mit einem zusätzlichen 'i')
-
Versuch mal mysqli_real_escape_string (mit einem zusätzlichen 'i')
Komischerweiße sind meine Variablen jetzt leer. Da war z.B. Yannick drinnen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage