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

|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP 
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |

23.01.2004, 11:50:50
|
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
|

23.01.2004, 12:02:29
|
Senior Member
|
|
Registriert seit: Apr 2003
Alter: 58
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
|

23.01.2004, 12:03:39
|
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 }.
|

23.01.2004, 12:05:14
|
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!
|

23.01.2004, 12:19:08
|
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
|

23.01.2004, 14:52:22
|
Senior Member
|
|
Registriert seit: Apr 2003
Alter: 58
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 ;-)
|

23.01.2004, 17:07:17
|
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
|

23.01.2004, 19:11:38
|
 |
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 76
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.
|

23.01.2004, 20:24:01
|
Senior Member
|
|
Registriert seit: Apr 2003
Alter: 58
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? ;-)))))
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:57:01 Uhr.
|