Autor |
Nachricht |
eyepe
Threadersteller
Dabei seit: 30.05.2005
Ort: Thüringen
Alter: 37
Geschlecht:
|
Verfasst So 21.08.2005 23:28
Titel [PHP & MySQL] Datensätze bearbeiten per UPDATE |
|
|
Hallo,
ich war letztens erst hier, als ich das Problem mit dem Uploadscript hatte. Der Upload funktioniert nun einwandfrei, nur mein script zum bearbeiten bereits hochgeladener Datensätze funktioniert nicht.
Es sieht wie folgt aus, wenn man den Datensatz ausgewählt hat, erscheint ein, mit den bereits vorhandenen Daten ausgefülltes, Formular. Nun sollte man neue daten eingeben können, und diese sollten dann beim abschicken des Formulars gespeichert werden.
Leider passiert das nicht, die Datensätze bleiben unverändert. Ich hoffe irgendjemant von euch kann mir sagen, woran das liegt...?
Hier mal den Code:
Code: |
<?php
require('connect.php');
//Speichern der neuen Werte
if($sent==2)
{
$sql = "UPDATE $tabellenname ";
$sql.=" SET ";
$sql.=" name = '$name', ";
$sql.=" geburtstag = '$geburtstag', ";
$sql.=" ausbildung = '$ausbildung', ";
$sql.=" erfolge = '$erfolge' ";
$sql.=" WHERE ID=";
$sql.=$ID;
mysql_query($sql, $link);
}
?>
|
Das ist jetzt nur der Ausschnit der für's bearbeiten notwendig ist. Das Formular etc habe ich mal rausgelassen.
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Mo 22.08.2005 00:01
Titel
|
|
|
Die Funktion mysql_error() kann dir das ganz genau sagen. Außerdem gibt es elegantere Möglichkeiten, die (meiner Meinung nach) das Zusammenbasteln des Querystrings einfacher und übersichtlicher gestalten:
Code: |
$sql = "UPDATE {$tabellenname} SET name = '{$name}', geburtstag = '{$geburtstag}', ausbildung = '{$ausbildung}', erfolge = '{$erfolge}' WHERE ID={$ID}";
|
Zuletzt bearbeitet von am Mo 22.08.2005 00:04, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
Blood Angel
Dabei seit: 20.08.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mo 22.08.2005 10:21
Titel
|
|
|
Zumal es glaube ich notwendig ist, die Tabellennamen für SQL noch gesondern zu kennzeichnet, und zwar durch ``. Bin mir aber nicht ganz sicher, ergo:
Code: | $sql = "UPDATE {$tabellenname} SET `name` = '{$name}', `geburtstag` = '{$geburtstag}', `ausbildung` = '{$ausbildung}', `erfolge` = '{$erfolge}' WHERE ID={$ID}"; |
Zuletzt bearbeitet von Blood Angel am Mo 22.08.2005 10:21, insgesamt 1-mal bearbeitet
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Mo 22.08.2005 13:27
Titel
|
|
|
Ne. Ich weiß zwar nicht genau was das mit den Backticks soll (ist wohl syntaktisch tatsächlich besser), aber im php-query ists nicht nötig (genausowenig wie das abschließende semikolon)
|
|
|
|
|
Pixelpole
Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht:
|
Verfasst Mo 22.08.2005 13:31
Titel
|
|
|
XSchinkenX hat geschrieben: | Ne. Ich weiß zwar nicht genau was das mit den Backticks soll (ist wohl syntaktisch tatsächlich besser), aber im php-query ists nicht nötig (genausowenig wie das abschließende semikolon) |
jau, is ne komische Sache mit PHP und den Backsticks, ich hatte mal nen PHP-Skript das ohne partout nich wollte, also am besten immer brav machen dann ist man auf der sicheren Seite
|
|
|
|
|
eyepe
Threadersteller
Dabei seit: 30.05.2005
Ort: Thüringen
Alter: 37
Geschlecht:
|
Verfasst Mo 22.08.2005 13:49
Titel
|
|
|
Ich habe jetzt einfach mal nach mysql_query($sql, $link); dieses mysql_error(); eingefügt. Das gibt mir diese Fehlermeldung aus, wenn das Formular abgeschickt wurde:
You have an error in your SQL syntax near '' at line 1
Aber ich kann da nichts finden.
|
|
|
|
|
Waschbequen
Account gelöscht
Ort: -
|
Verfasst Mo 22.08.2005 13:54
Titel
|
|
|
Blood Angel hat geschrieben: | Zumal es glaube ich notwendig ist, die Tabellennamen für SQL noch gesondern zu kennzeichnet, und zwar durch ``. Bin mir aber nicht ganz sicher, ergo:
Code: | $sql = "UPDATE {$tabellenname} SET `name` = '{$name}', `geburtstag` = '{$geburtstag}', `ausbildung` = '{$ausbildung}', `erfolge` = '{$erfolge}' WHERE ID={$ID}"; |
|
Nein, ANSI-SQL braucht das nicht, da reicht ein
Code: | UPDATE tableName Set fieldName=fieldValue Where fkFieldName=fkFieldValue |
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Mo 22.08.2005 14:03
Titel
|
|
|
Ich weißet ehrlich jesacht gar net genau...
|
|
|
|
|
|
|
|
Ähnliche Themen |
Behavioural Separation - Datensätze bearbeiten
[mySQL] Datensätze löschen
Datensätze aus MySQL-Datenbank sortieren...
[PHP / MySQL] Datensätze anzeigen ohne "Doppelte"
Problem mit UPDATE (php und MySQL)
Problem mit mysql UPDATE
|
|