SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 21.03.2006, 02:25:04
drbestminus drbestminus ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 19
sql Update prob

Was mache ich falsch?

Möchte ein Update der Tabelle erzeugen:

Fehlermeldung:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('xxx','xxx',' at line 1

PHP-Code:
$anfrage="UPDATE $dbtab ('$_POST[xxx]','$_POST[xxx]')"
wo ist der denkfehler?
Mit Zitat antworten
  #2  
Alt 21.03.2006, 02:36:45
Giz Giz ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 309
AW: sql Update prob

WHERE???

Will sagen : Woher soll er wissen, welchen Datensatz er UPDATEN soll?
Mit Zitat antworten
  #3  
Alt 21.03.2006, 07:23:56
Opendix Opendix ist offline
Senior Member
 
Registriert seit: Oct 2004
Ort: Werdenberg / Schweiz
Alter: 36
Beiträge: 1.476
AW: sql Update prob

WHERE ist nicht notwendig... aber SET!!

UPDATE tabelle SET spalte1 = wert1, spalte2 = wert2 [WHERE spalte3 = wert3]
__________________
Opendix lehnt jegliche Haftung für evtl. vorhandene Fehler in der Grammatik sowie der Satzstellung ab! Bitte wenden Sie sich an die Tastatur!

Betatester gesucht:
Skiclub Gams / CEVI Grabs
Mit Zitat antworten
  #4  
Alt 21.03.2006, 08:09:36
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: sql Update prob

Zitat:
Zitat von drbestminus
Was mache ich falsch?
du liest nicht, hier steht es wie es aussehen muss:

http://dev.mysql.com/doc/refman/4.1/en/update.html

und zudem ist es immer nützlich sich das sql mal per echo ausgeben zu lassen und dann anzuschauen. manchmal sieht es nämlich nicht so aus wie erwartet.
Mit Zitat antworten
  #5  
Alt 21.03.2006, 12:45:57
drbestminus drbestminus ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 19
AW: sql Update prob

...

Geändert von drbestminus (21.03.2006 um 12:52:23 Uhr)
Mit Zitat antworten
  #6  
Alt 21.03.2006, 12:51:04
drbestminus drbestminus ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 19
AW: sql Update prob

Was ist da nicht richtg?

Fehlermeldung=You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' Schleppertyp=, Baugruppe=, Verwendungsstelle=, Bezeichnung=, Anzahl=, Lagerart=' at line 1

Eingabe Fomular:
PHP-Code:
include("config.php");
 
$link=mysql_connect("$sqlhost","$sqluser","$sqlpassword");
 
mysql_select_db("$sqldb");
 
$anfrage="SELECT * FROM $dbtab WHERE Hersteller='$_POST[Radio]'; ";
 
$ergebnis=mysql_query($anfrage);
  
$zeile mysql_fetch_row($ergebnis);
 echo 
"Hersteller: <INPUT type='text' name='Hersteller' value='$zeile[0]' size ='40' maxlength='40'><BR>";
 echo 
"Schleppertyp: <INPUT type='text' name='Schleppertyp' value='$zeile[1]' size ='40' maxlength='40'><BR>";
 echo 
"Baugruppe: <INPUT type='text' name='Baugruppe' value='$zeile[2]' size ='40' maxlength='40'><BR>";
 echo 
"Verwendungsstelle: <INPUT type='text' name='Verwendungsstelle' value='$zeile[3]' size ='40' maxlength='40'><BR>";
 echo 
"Lagerart: <INPUT type='text' name='Lagerart' value='$zeile[4]' size ='40' maxlength='40'><BR>";
 echo 
"Anzahl: <INPUT type='text' name='Anzahl' value='$zeile[5]' size ='2' maxlength='2'><BR>";
 echo 
"Bezeichnung: <INPUT type='text' name='Bezeichnung' value='$zeile[6]' size ='40' maxlength='40'><BR>";
 echo 
"Abmasse: <INPUT type='text' name='Abmasse' value='$zeile[7]' size ='40' maxlength='40'><BR>";
 echo 
"Zusatzinfo: <INPUT type='text' name='Zusatzinfo' value='$zeile[8]' size ='40' maxlength='40'><BR>";
 
 
mysql_free_result($ergebnis); mysql_close($link); 
zum updaten:
PHP-Code:
include("config.php");
 
$link=mysql_connect("$sqlhost","$sqluser","$sqlpassword");
 
mysql_select_db("$sqldb");
 
$anfrage="UPDATE $dbtab SET Hersteller=$zeile[0], Schleppertyp=$zeile[1], Baugruppe=$zeile[2], Verwendungsstelle=$zeile[3], Bezeichnung=$zeile[4], Anzahl=$zeile[5], Lagerart=$zeile[6], Abmasse=$zeile[7], Zusatzinfo=$zeile[8]";
 if (
$ergebnis=mysql_query($anfrage))
  {echo 
"Datensatz ge&auml;ndert ";}
 else
  {echo 
"Fehlermeldung=".mysql_error();};
 
mysql_close($link); 
Mit Zitat antworten
  #7  
Alt 21.03.2006, 13:08:04
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: sql Update prob

du liest immer noch nicht:

Zitat:
Zitat von feuervogel
und zudem ist es immer nützlich sich das sql mal per echo ausgeben zu lassen und dann anzuschauen. manchmal sieht es nämlich nicht so aus wie erwartet.
auch dies hier kann ich empfehlen:

http://selfphp.com/forum/showthread.php?t=8195
Mit Zitat antworten
  #8  
Alt 21.03.2006, 13:15:28
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: sql Update prob

Zitat:
Zitat von drbestminus
Was ist da nicht richtg?
Zwei Dinge:
1. fehlerhafte Strings
PHP-Code:
$anfrage="UPDATE $dbtab SET Hersteller='$zeile[0]', Schleppertyp='$zeile[1]', ..."
2. es fehlt noch das WHERE, weil sonst alle Datensätze geändert werden:
PHP-Code:
$anfrage="UPDATE $dbtab SET Hersteller='$zeile[0]', Schleppertyp='$zeile[1]', ... WHERE spalte='$wert'"
Beachte unbedingt noch das:
http://de.php.net/mysql_escape_string

Falls Du Formularvariable in SQL Strings verwendest:
wenn magic_quotes_gpc = On ist, behandelt PHP alle Formularvariablen automatisch mit addslashes(). In dem Falle würde mysql_escape_string() das schon 'escapte' noch mal 'escapen'.
Mit Zitat antworten
  #9  
Alt 22.03.2006, 12:17:00
drbestminus drbestminus ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 19
AW: sql Update prob

Ich denke die WHERE ist nicht notwendig.
Es sollen ja auch alle überschrieben werden.
Da alle werte in dem Vorigen Fomular enthalten sind.

@Meikel

Verstehe nicht genau was du damit meinst?
Zitat:
In dem Falle würde mysql_escape_string() das schon 'escapte' noch mal 'escapen'
so geht es auch nicht:
PHP-Code:
$anfrage="UPDATE $dbtab SET Hersteller=($_POST[hersteller],$_POST[schleppertyp],$_POST[baugruppe],$_POST[verwendungsstelle],$_POST[bezeichnung],$_POST[anzahl],$_POST[lagerart],$_POST[abmasse],$_POST[zusatzinfo]
 WHERE Hersteller='$zeile[0]', Schleppertyp='$zeile[1]', Baugruppe='$zeile[2]', Verwendungsstelle='$zeile[3]', Bezeichnung='$zeile[4]', Anzahl='$zeile[5]', Lagerart='$zeile[6]', Abmasse='$zeile[7]', Zusatzinfo='$zeile[8]')"

Fehlermeldung=You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',,,,,,, WHERE Hersteller='', Schleppertyp='', Baugruppe='', Verwendungsstelle=''' at line 1

Geändert von drbestminus (22.03.2006 um 12:49:02 Uhr)
Mit Zitat antworten
  #10  
Alt 22.03.2006, 20:30:44
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: sql Update prob

Zitat:
Zitat von drbestminus
Ich denke die WHERE ist nicht notwendig.
Es sollen ja auch alle überschrieben werden.
Komisches Konzept.

Zitat:
@Meikel
Verstehe nicht genau was du damit meinst?
Handbuch lesen.

Zitat:
so geht es auch nicht:
Das geht deshalb nicht, weil es falsch ist.

UPDATE:
http://dev.mysql.com/doc/refman/4.0/de/update.html

Zeichenkatten:
http://dev.mysql.com/doc/refman/4.0/de/char.html
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Update Soeren MySQLi/PDO/(MySQL) 6 18.06.2005 11:12:46
update problem :( Stifler PHP Grundlagen 1 27.04.2004 13:28:35
Update Sql osiris PHP für Fortgeschrittene und Experten 2 19.05.2003 22:20:23
easy sql prob CpUkiller PHP für Fortgeschrittene und Experten 1 24.09.2002 13:25:00


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:42:57 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt