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 ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign 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 für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 23.01.2004, 10:50:50
Ina Ina ist offline
Anfänger
 
Registriert seit: Nov 2003
Ort: Berlin
Beiträge: 37
Kann man INSERT INTO in tabelle, deren name eine variable ist ...?

Hallo aller seits,
Kann man INSERT INTO in tabelle, deren name eine variable ist ausführen?
Ich bekomme meine variablen (geprüft - die sind da und richtig) und folgt code:
PHP-Code:
$changes "INSERT INTO '".$_GET['tab']."' ('name_e','adresse','tel_fax') VALUES ('".$_GET['name_e']."','".$_GET['adresse']."','".$_GET['tel']."')";
$anzeige mysql_query($changes$conn);
    if (!
$anzeige){
                die (
"Änderung fehlgeschlagen: ".mysql_error());
                     } 
Seit gestern bekomme ich immer wieder folgende fehlermeldung:
Zitat:
tab service
name_e Herr Bla, bla@web.de
adresse Strasse 13, 21342 Berlin
tel 12342516 / 23245647
contact OK
content best_cont

Änderung fehlgeschlagen: You have an error in your SQL syntax near ''service' (name_e,adresse,tel_fax) VALUES ('Herr Bla, bla@web.de','Strasse 13, 2' at line 1
Noch dazu, wenn ich kürzere werte eingebe, kommen die vollständig in dem fehlermeldung (in dem fall hat er sich was gespart?).
Kann jemand mir helfen?
ina
__________________
ina
Mit Zitat antworten
  #2  
Alt 23.01.2004, 11:02:29
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hi,

Du hast ein paar ' zuviel, die Feldnamen un Tabellen werden ohne ' angesprochen.
PHP-Code:
$changes "INSERT INTO ".$_GET['tab']." (name_e,adresse,tel_fax) VALUES ('".$_GET['name_e']."','".$_GET['adresse']."','".$_GET['tel']."')"
Gruss
Mit Zitat antworten
  #3  
Alt 23.01.2004, 11:03:39
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
PHP-Code:
$changes "INSERT INTO '".$_GET['tab']."' ('name_e','adresse','tel_fax') VALUES ('".$_GET['name_e']."','".$_GET['adresse']."','".$_GET['tel']."')"
ich kapier irgendwie nicht so ganz, was du für nen stress mit den anführungszeichen und den konnektoren machst...

hier mal so wie ich es schreiben würde, allerdings testen musst du selbst:)



PHP-Code:
$sql "INSERT INTO `{$_GET['tab']}` (`name_e` , `adresse` , `tel_fax`) VALUES ( '{$_GET['name_e']}' , '{$_GET['adresse']}' , '{$_GET['tel']}' )";
$qry mysql_query$sql $conn ) || die( "sql-syntax falsch oder verbindung nicht vorhanden" mysql_error() ); 
ich habe die spalten- und tabellennamen mal ich ` gesetzt (so genannte backticks), nicht in einfache anführungszeichen, und den connector-krempel weggelassen...schreib nen array, der zwischen doppelten " interpoliert werden soll einfach in { und }.
Mit Zitat antworten
  #4  
Alt 23.01.2004, 11:05:14
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
und noch ein kleiner tipp...du übergibst die variablen per url, wie ich sehe...also du rufst sie im script jedenfalls per $_GET auf. was passiert denn, wenn dummer.user einfach in der adresszeile rumspielt??? bei nem delete im sql GAAAANZ böse folgen!!!

badbadbad!
Mit Zitat antworten
  #5  
Alt 23.01.2004, 11:19:08
Ina Ina ist offline
Anfänger
 
Registriert seit: Nov 2003
Ort: Berlin
Beiträge: 37
vielen DANK Chris und feuervogel!

Es ging mit:
PHP-Code:
"INSERT INTO {$_GET['tab']} (name_e,adresse,tel_fax)
 VALUES ('{$_GET['name_e']}','{$_GET['adresse']}','{$_GET['tel']}')"

ina
__________________
ina
Mit Zitat antworten
  #6  
Alt 23.01.2004, 13:52:22
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hallo Ina,

feuervogel hat Recht, steig auf POST um. Ist nicht viel Arbeit und um einiges sicherer.

Grüsse

P.S.: Ich erinnere mich gerade, dass wir das in einem anderen Thread schon mal hatten wg. GET und POST ;-)
Mit Zitat antworten
  #7  
Alt 23.01.2004, 16:07:17
Ina Ina ist offline
Anfänger
 
Registriert seit: Nov 2003
Ort: Berlin
Beiträge: 37
Hi Chris,
Ich habe schon "POST".
Jertzt habe ich wieder eine fehlermeldung mit dem ich nicht zurecht komme:
Zitat:
id 1
raum Berlin
vorwahl 0101DEVET
neu_tel OK

Änderung fehlgeschlagen: You have an error in your SQL syntax near '[raum='Berlin',vorwahl='0101DEVET'] WHERE [id='1']' at line 1
Mein code ist:
PHP-Code:
$endern "UPDATE telefon SET [raum='{$_POST['raum']}',vorwahl='{$_POST['vorwahl']}'] WHERE [id='{$_POST['id']}']"
Siehest du irgendwo fehler???
ina
__________________
ina
Mit Zitat antworten
  #8  
Alt 23.01.2004, 18:11:38
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
Zitat:
Original geschrieben von Ina
Mein code ist:
PHP-Code:
$endern "UPDATE telefon SET [raum='{$_POST['raum']}',vorwahl='{$_POST['vorwahl']}'] WHERE [id='{$_POST['id']}']"
Siehest du irgendwo fehler?
Ja, einige.
PHP-Code:
$endern "UPDATE telefon SET raum='$_POST[raum]',vorwahl='$_POST[vorwahl]' WHERE id='$_POST[id]'"
btw: Wer so unbekümmert Uservariable in SQL Strings verwurstet, sollte sich rechtzeitig um ein funktionierendes Backup seiner Datenbank Gedanken machen.
Mit Zitat antworten
  #9  
Alt 23.01.2004, 19:24:01
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Das mit dem POST war eine gut Entscheidung :-)

Aber sag' mal, warum baust Du immer wieder eckige Klammern [] in Dein Querys ein? ;-)))))
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:23:27 Uhr.


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


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