php mysql rename
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
aussehen
befehl
bestellnummer
code
dank
datenbank
eingabe
eintrag
fehler
fehlerhafte syntax
feld
http
komma
neuwert
ordern
problem
set
update
url
-
Hallo!
Ich möchte in PHP eine Abfrage machen, wo ein gewisser Eintrag meiner Mysql Datenbank gesucht und ersetzt wird.
Mein Problem ist nur, bis jetzt habe ich nichts passendes gefunden wo man wirklich nur EINEN Eintrag auswählen kann.
Ich hätte mir das so vorgestellt, dass man den rename Befehl wie den Select Befehl verwenden kann, also:
"SELECT irgendwas FROM meinetabelle WHERE bestellnummer = '".$_GET['bestellid']."'";
Ich habe schon versucht, den Code für "rename" anzupassen, aber erfolglos.
Bin im Bereich PHP und Mysql nicht gerade sehr erfahren ;)
Weiß jemand wie ich das lösen kann? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Suchst du etwa UPDATE?
Dazu kannst du sowas machen:$bestellid = mysql_real_escape_string($_GET['bestellid']; $query = "UPDATE meinetabelle SET feld = 'wert' WHERE bestellnummer = '$bestellid'"; mysql_query($query);
-
Hallo
der Befehl heisst "UPDATE"
<?php $neuwert = 'neuer Eintrag in irgendwas-Feld'; $sql_update = "UPDATE meinetabelle SET irgendwas = '".$neuwert."' WHERE bestellnummer = '".$_GET['bestellid']."'"; if ( !mysql_query($sql_update) ) { echo "<br /> Fehler .... beim Update ... \n"; echo mysql_error(); exit; } else { echo "<br /> OK .... Update war erfolgreich \n"; } ?>
für schnelle Info zu MySQL Grundlagen empfehle ich w3schools auch mit kurzem Beispiel
EDIT: ... ok ... hackyourlife war (wiedermal) schneller :)
gut das er darauf hinweist, dass man User-Eingaben (GET / POST) immer escapen sollte
... also NICHT so wie hier, direkt in der SQL-Query die $_GET Variable einfügen
sondern wenn User-Eingaben, dann immer escapen (Sicherheit)
siehe ... mysql_real_escape_string() ... als neue Variable oder direkt im Query
$neuwert = mysql_real_escape_string($_GET['neu']); $sql = "UPDATE meinetabelle SET irgendwas = '".$neuwert."' WHERE bestellnummer = '". mysql_real_escape_string($_GET['bestellid']) ."'";
Beitrag zuletzt geändert: 13.6.2012 10:09:00 von wzone -
wzone schrieb:
Und hackyourlife weist dich auf eine fehlerhafte Syntax des UPDATE-Befehls hin...
$sql_update = "UPDATE irgendwas FROM meinetabelle WHERE bestellnummer = '".$_GET['bestellid']."'";
die Struktur muss so aussehen:
Also muss dein Befehl auch so aussehen:UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]
UPDATE tabelle SET spalte = 'wert' WHERE bedingung = 1
-
hackyourlife schrieb:
Und hackyourlife weist dich auf eine fehlerhafte Syntax des UPDATE-Befehls hin...
ups, ja, Danke, das habe ich ganz übersehen ...
... habe meinen Code oben entsprechend geändert / korrigiert
ohne SET feld = 'wert' weiss die Abfrage ja garnicht
welches Feld sie mit welchem Wert ersetzen soll
bei UPDATE mehrerer Felder in einer Abfrage dann wohl nach SET in Klammern, durch Komma getrennt
$sql = "UPDATE meinetabelle SET ( feld1 = '$neuwert1', feld2 = '$neuwert2', feld3 = '$neuwert4', ) WHERE bestellnummer = '$bestellid' ";
Zeilenumbruch (für übersichtliche Code-Gestaltung) sollte kein Problem sein,
ist manchmal sogar besser, um einen Fehler zu finden (Angabe der Zeile in Fehler-Meldung)
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage