php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.07.2005, 11:57  
Gast
 
Beiträge: n/a
Standard INSERT mit array

Hallo zusammen,

ich sthe vor dem Problem in eine Tabelle ein Array einfügen zu wollen, wobei jedes Feld des Arrays auch einer Zelle der Tabelle entspricht.
Nun dachte ich mir, das Array direkt in die INSERT anweisung zu schreiben, aber ohne Erfolg. Die nächte Lösung, welche mir in den Sinn kam war, das Array mittels implode() in ein string zu extrahieren und dieses dann in die INSERT anweisung einzubauen. Das ganze sieht dann folgendermassen aus (in Auszügen):

Code:
//meine Variablen (die Daten kommen aus nem Formular)
               //strip input form fields
		$adv_immo_location = strip_tags($_POST['immo_location']);
		$adv_obj_info = strip_tags($_POST['obj_info']);
		$adv_obj_location = strip_tags($_POST['obj_location']);
...

//alle Felder (teilweise werden sie nicht über das form abgefragt):
$adv_fields = array("adv_immo_location", "adv_obj_info", "adv_obj_location", "adv_roomcount", "adv_bathroomcount", "adv_cellarcount", 
"adv_phone2", "adv_dateofreachability"); 
 ...

//da die felder in der tabelle genau gleich heissen wie im formuar, aber ohne vorangestelltes "adv_" wird das entfernt:
// make database entry
			foreach($adv_fields as $key => $adv_field)
			{			
				$adv_fields_var[$key] = substr($adv_field, 4);
				echo $adv_field . " ----  " . $adv_fields_var[$key] . "
";
				
			}


//string erzeugen:
$adv_fields_var = implode(", ",$adv_fields_var);
			$adv_fields = "'$" . implode("', '$",$adv_fields) . "'";



//befehl vorbereiten
$user_SQL_insert ="INSERT INTO immo_advertisment ($adv_fields_var)
					   					   VALUES ($adv_fields)";
												 

//in dbank schreiben
$dbaseWriteFlag=mysql_query($user_SQL_insert);

//ausgabe(debug):
echo 	$user_SQL_insert;


Die sache ist die: Leider werden die Variablennamen in der sql anweisung nicht aufgelöst, sondern bleiben als namen bestehen. Die entsprechende Ausgabe im Browser ist folgende:

Zitat:
INSERT INTO immo_advertisment (immo_location, obj_info, obj_location, roomcount, bathroomcount, cellarcount, garage, carport, facilities, typeofheating, livingarea, usingarea, groundarea, rentalfee, extrafee, extrafeedescription, description, dateofavailability, phone1, phone2, dateofreachability) VALUES ('$adv_immo_location', '$adv_obj_info', '$adv_obj_location', '$adv_roomcount', '$adv_bathroomcount', '$adv_cellarcount', '$adv_garage', '$adv_carport', '$adv_facilities', '$adv_typeofheating', '$adv_livingarea', '$adv_usingarea', '$adv_groundarea', '$adv_rentalfee', '$adv_extrafee', '$adv_extrafeedescription', '$adv_description', '$adv_dateofavailability', '$adv_phone1', '$adv_phone2', '$adv_dateofreachability')fehler beim speichern der daten

Worann kann das liegen? Es soltlen idealerweise die VALUES mir ebendiesen belegt sein und nicht mit den Variablennamen.

Kann mir da jemand weiterhelfen?

Gruss & Danke,
cyberax.


[/quote]
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.07.2005, 12:30  
Benutzer
 
Registriert seit: 27.07.2005
Beiträge: 72
skaterboy
Standard

hi
Ich sehe deinen Fehler wo du das array erzeugst gibts du in das array nur strings ein die ja auch bei deinem zitat eben nur ohne das adv dargestellt werden.

$adv_fields = array("adv_immo_location", "adv_obj_info", "adv_obj_location", "adv_roomcount", "adv_bathroomcount", "adv_cellarcount",
"adv_phone2", "adv_dateofreachability");


probiers mal so

$adv_fields = array($adv_immo_location, $adv_obj_info,$adv_obj_location ,......);
[/b]

müsste klappen
skaterboy ist offline   Mit Zitat antworten
Alt 29.07.2005, 13:03  
Gast
 
Beiträge: n/a
Standard

Gut, skaterboy, der Tipp hat geholfen! Nur leider kann ich das jetzt mit dem Anpassen meiner Variablennamen nicht mehr machen. Aber das ist wohl ein anderes Problem. Danke auf jeden Fall!
mfg cyberax
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Pathfinding Algorithmus optimieren? (Algorith. von Dijkstra) Martin13 PHP Tipps 2007 19 04.09.2007 19:20
Differenz zwischen 2 Zahlen duderino PHP Tipps 2006 19 10.08.2006 22:12
Übersicht aus mehrdimensionalem Array erzeugen Crypi PHP-Fortgeschrittene 0 30.01.2006 13:44
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
PRoblem mit Cookie bei PHPbb-Board PHP Tipps 2007 8 12.12.2005 20:56
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
[Erledigt] fehler den ich noch nie gesehen habe Datenbanken 7 09.06.2005 14:29
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
insert eines array, insert array, php insert array, php array insert, array insert, array insert php, insert aus array, php mysql insert array, php array insert sql, array anweisung mysql insert, php insert to array, insert array php, sql insert array, mysql insert aus einem array, http://www.php.de/datenbanken/27771-insert-mit-array.html, php sql insert array, insert in array, array werte insert, array([ insert php, sql array vor insert

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.