Hallo (mal wieder),
ich versuche (mittlerweile) echt verzweifelt Daten auf MySQL per PHP zu ändern.
Ich „ziehe“ zuerst die Daten über eine Select-Box und lass mir die Daten in Textboxen anzeigen.
$dbanfrage = "SELECT \* from $tabelle";
$result = mysql\_db\_query ($dbname, $dbanfrage, $dbverbindung);
$options = "";
?\> <?php while($row=mysql_fetch_array($result,MYSQL_ASSOC)){<br /> ?\><?php echo $row['Id']." - ".$row['Nachname'].", ".$row['Vorname'];?>
Hier die Ausgabe in der Textbox -->
Dann will ich dort ändern und die Daten „hochschicken“
Leider tut sich garnuescht - noch nicht mal ne Fehlermeldung.
((
<?php error_reporting(E_ALL | E_NOTICE);<br /> ini\_set('display\_errors','On');
$host = "localhost";
$user = "user";
$password = "password";
$dbname = "dbname";
$tabelle ="tabelle";
$dbverbindung = mysql\_connect ($host, $user, $password);
if(isset($\_POST['aendern'])){
$sql=mysql\_query("UPDATE $tabelle SET Nachname='$Array[Nachname]' WHERE id='".$\_POST['to\_change']"');
$sql = mysql\_query($sql);
}
?\>
Frage - ist es überhaupt grundsätzlich möglich?
Wenn ja, jemand nen klitzkleinen Tipp für mich ?
Gruß Rolf
(ich versuchs grad mal nur mit Nachname, wenn das klappt kommen die anderen Felder auch dran
)))
Hallo Rolf,
Ich „ziehe“ zuerst die Daten über eine Select-Box und lass mir
die Daten in Textboxen anzeigen.
$dbanfrage = „SELECT * from $tabelle“;
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
$options = „“;
?> <?php : while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
?><?php echo $row[‚Id‘]." -
".$row[‚Nachname‘].", ".$row[‚Vorname‘];?>
oweh, mach doch sowas nicht…
das ist total unübersichtlich!
Verwende innerhalb von php lieber
echo „Auszugebendertext“; statt dass Du immer mit und ?> arbeitest.
Du musst dann nur die Anführungszeichen „markieren“ -> "
Hier die Ausgabe in der Textbox -->
wofür ist das ein Array? *grübel* Und warum verwendest Du gross/kleinschreibung…? Sowas ist immer mal ein leichter Fehlerproduzent…
Dann will ich dort ändern und die Daten „hochschicken“
Leider tut sich garnuescht - noch nicht mal ne Fehlermeldung.
-(((
führ mal das query so aus:
mysql_query($sql) or die(„Fehler in sql:
$sql“);
Damit siehst Du dann sofort, ob es an der Syntax der sql liegt, oder ob einfach nur die Daten falsch angekommen sind…
if(isset($_POST[‚aendern‘])){
hier könnte man auch eine Test-Ausgabe machen, ob diese Variable übergeben worden ist…
Frage - ist es überhaupt grundsätzlich möglich?
ja
Wenn ja, jemand nen klitzkleinen Tipp für mich ?
im Moment fällt mir kein Fehler auf -> debuggen -> Fehler eingrenzen…
und evtl Error-Level hochsetzen (E_ALL)
Grüße
Munich
Jo,
danke, vergess ich doch immer wieder.
Er bringt mir zwar keine Fehlermeldung ansich aber er scheint n Verbindungsproblem zu haben.
Das muss ich heute abend mach überprüfen.
Danke derweil.
Gruß Rolf
Moin,
sodala - Fehlermeldung die er mir nun bringt ist diese -->
Unknown column ‚asdfsdfsdaffsadf‘ in 'field list’
Die „Bennenung“ des Feldes stimmt aber.
$sql=mysql\_query("UPDATE $tabelle SET Nachname=$Array[Nachname] WHERE id=".$\_POST['to\_change'])or die( mysql\_error() );
$sql = mysql\_query($sql)or die( mysql\_error() );
Nochmal ne Verständis-Frage - um die Daten upzudaten muss ich die Textbox bzw. den Inhalt als Array ausgeben?
Gruß Rolf
sodala - Fehlermeldung die er mir nun bringt ist diese -->
Unknown column ‚asdfsdfsdaffsadf‘ in 'field
list’
ich nehme mal an, dass Du das als Wert für den Nachnamen eingetragen hast?
Die „Bennenung“ des Feldes stimmt aber.
$sql=mysql_query(„UPDATE $tabelle SET
Nachname=$Array[Nachname] WHERE id=“.$_POST[‚to_change‘])or
die( mysql_error() );
- setze mal das $Array[Nachname] in hochkommas. Ebenso für $_POST[‚to_change‘].
- solltest Du Dir nicht mysql_error ausgeben lassen, sondern den fehlerhaften sql-String. So wie ich es Dir in meinem Beispiel skizziert hatte…
Nochmal ne Verständis-Frage - um die Daten upzudaten muss ich
die Textbox bzw. den Inhalt als Array ausgeben?
nein, warum sollte das so sein?
1 „Gefällt mir“
Sehr wohl.!!!
Es waren die Hochkommatas!
)
Subba! Danke!
Gruß Rolf