php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.07.2005, 00:18  
Gast
 
Beiträge: n/a
Standard while-Schleife führt mysql_query() nicht aus...

Also ich schreibe gerade an einer MySQL-Datenbank und gebe die Daten mittels install.php in die Datenbank ein.
Vorweg, die Verbindung zur Datenbank besteht!
So weit so gut: Wenn ich es so mache, funktioniert es einwandfrei!

PHP-Code:
<?php

// Daten definieren
$ft1 "INSERT INTO kontinent (name) VALUES ('Afrika')";
$ft2 "INSERT INTO kontinent (name) VALUES ('Asien')";
$ft3 "INSERT INTO kontinent (name) VALUES ('Australien')";
$ft4 "INSERT INTO kontinent (name) VALUES ('Europa')";
$ft5 "INSERT INTO kontinent (name) VALUES ('Karibik')";
$ft6 "INSERT INTO kontinent (name) VALUES ('Mittel Amerika')";
$ft7 "INSERT INTO kontinent (name) VALUES ('Naher Osten')";
$ft8 "INSERT INTO kontinent (name) VALUES ('Nordamerika')";
$ft9 "INSERT INTO kontinent (name) VALUES ('Ozeanien')";
$ft10 "INSERT INTO kontinent (name) VALUES ('Süd Amerika')";

// Daten senden
mysql_query($ft1);
mysql_query($ft2);
mysql_query($ft3);
mysql_query($ft4);
mysql_query($ft5);
mysql_query($ft6);
mysql_query($ft7);
mysql_query($ft8);
mysql_query($ft9);
mysql_query($ft10);

?>
Da ich aber nun auch die ganzen Länder eingebe (ca. 270!!!) ist diese Art der Eingabe zwar funktionell, aber sehr nervig und sicher nicht die feinste Art Daten einzugeben...
Also hab ich mir eine WHILE-Schleife geschrieben...

PHP-Code:
<?php

// Daten definieren
$ft1 "INSERT INTO kontinent (name) VALUES ('Afrika')";
$ft2 "INSERT INTO kontinent (name) VALUES ('Asien')";
$ft3 "INSERT INTO kontinent (name) VALUES ('Australien')";
$ft4 "INSERT INTO kontinent (name) VALUES ('Europa')";
$ft5 "INSERT INTO kontinent (name) VALUES ('Karibik')";
$ft6 "INSERT INTO kontinent (name) VALUES ('Mittel Amerika')";
$ft7 "INSERT INTO kontinent (name) VALUES ('Naher Osten')";
$ft8 "INSERT INTO kontinent (name) VALUES ('Nordamerika')";
$ft9 "INSERT INTO kontinent (name) VALUES ('Ozeanien')";
$ft10 "INSERT INTO kontinent (name) VALUES ('Süd Amerika')";

// Daten senden
$zaehler=1;
$anzahl=10;
while (
$zaehler<=$anzahl) {    
$key1="\$ft".$zaehler;
mysql_query($key1);
echo 
"query [b]$key1[/b]: Ausgeführt!
"
// Kontrollzeile
$zaehler++;
}

?>
Das Problem ist nur, dass die Schleife die Daten nicht in die Datenbank schreibt, die Kontrollzeile wird jedoch richtig ausgegeben!
Da aber keine Fehlermeldung ausgegeben wird und die Kontrollzeile richtig ausgegeben wird, geh ich davon aus, dass die Schleife Funktioniert...

Habt Ihr eine Ahnung was ich falsch mache ?! Wenn da eine Fehlermeldung hätte würde ich zumindest nen Ansatz haben... Aber so...

Naja DANKE schon mal im Voraus für Eure mühen...
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 29.07.2005, 01:50  
Gast
 
Beiträge: n/a
Standard

du musst
mysql_query($$key1);
eingeben, da der string der Variablen $key1 als Variablenname genutzt werden soll

einfacher wäre das ganze mit einem array, aber fun ist nunmal fun

EDIT: und lass das \$ bei der declaration weg
  Mit Zitat antworten
Alt 29.07.2005, 02:12  
Gast
 
Beiträge: n/a
Standard

So?
PHP-Code:
<?php

// Nicht als einzelne Variablen sondern als Array:
$q[] = "INSERT INTO kontinent (name) VALUES ('Afrika')";
$q[] = "INSERT INTO kontinent (name) VALUES ('Asien')";
$q[] = "INSERT INTO kontinent (name) VALUES ('Australien')";
$q[] = "INSERT INTO kontinent (name) VALUES ('Europa')";
$q[] = "INSERT INTO kontinent (name) VALUES ('Karibik')";
$q[] = "INSERT INTO kontinent (name) VALUES ('Mittel Amerika')";
$q[] = "INSERT INTO kontinent (name) VALUES ('Naher Osten')";
$q[] = "INSERT INTO kontinent (name) VALUES ('Nordamerika')";
$q[] = "INSERT INTO kontinent (name) VALUES ('Ozeanien')";
$q[] = "INSERT INTO kontinent (name) VALUES ('Süd Amerika')";

// Jedes Element des Arrays mit for_each durchgehen:
foreach ($q as $queryString) {
    
mysql_query($queryString);
}

?>
  Mit Zitat antworten
Alt 29.07.2005, 02:15  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php

// Nicht als einzelne Variablen sondern als Array:
$q[1] = "INSERT INTO kontinent (name) VALUES ('Afrika')";
$q[2] = "INSERT INTO kontinent (name) VALUES ('Asien')";
$q[3] = "INSERT INTO kontinent (name) VALUES ('Australien')";
$q[4] = "INSERT INTO kontinent (name) VALUES ('Europa')";
$q[5] = "INSERT INTO kontinent (name) VALUES ('Karibik')";
$q[6] = "INSERT INTO kontinent (name) VALUES ('Mittel Amerika')";
$q[7] = "INSERT INTO kontinent (name) VALUES ('Naher Osten')";
$q[8] = "INSERT INTO kontinent (name) VALUES ('Nordamerika')";
$q[9] = "INSERT INTO kontinent (name) VALUES ('Ozeanien')";
$q[10] = "INSERT INTO kontinent (name) VALUES ('Süd Amerika')";

// Jedes Element des Arrays mit for_each durchgehen:
foreach ($q as $queryString) {
   
mysql_query($queryString);

?>
oder

PHP-Code:
<?php
$q 
= array( "land1" "land2" "land3" );

foreach( 
$q as $sql 
         
mysql_query(  "INSERT INTO kontinent (name) VALUES ('".$sql."')";

?>
Tipp: Du solltest in Zukunft Fehlermeldungen einbauen, grad bei SQL-Abfragen/Anfragen
  Mit Zitat antworten
Alt 29.07.2005, 02:17  
Gast
 
Beiträge: n/a
Standard

Die Zahlen als Index sind unnötig, php setzt automatisch

mfg Radeq
  Mit Zitat antworten
Alt 29.07.2005, 02:21  
Gast
 
Beiträge: n/a
Standard

hmm, hatte übersehen, dass der Eintrag nicht von Royal TS kam, nur die Frage "So?" gelesen .. sry, sollte keine Kritik o.ä. sein :/
  Mit Zitat antworten
Alt 29.07.2005, 02:27  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von casb
hmm, hatte übersehen, dass der Eintrag nicht von Royal TS kam, nur die Frage "So?" gelesen .. sry, sollte keine Kritik o.ä. sein :/
Macht nöscht
  Mit Zitat antworten
Alt 29.07.2005, 02:55  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von casb
PHP-Code:
<?php

// Nicht als einzelne Variablen sondern als Array:
$q[1] = "INSERT INTO kontinent (name) VALUES ('Afrika')";
$q[2] = "INSERT INTO kontinent (name) VALUES ('Asien')";
$q[3] = "INSERT INTO kontinent (name) VALUES ('Australien')";
$q[4] = "INSERT INTO kontinent (name) VALUES ('Europa')";
$q[5] = "INSERT INTO kontinent (name) VALUES ('Karibik')";
$q[6] = "INSERT INTO kontinent (name) VALUES ('Mittel Amerika')";
$q[7] = "INSERT INTO kontinent (name) VALUES ('Naher Osten')";
$q[8] = "INSERT INTO kontinent (name) VALUES ('Nordamerika')";
$q[9] = "INSERT INTO kontinent (name) VALUES ('Ozeanien')";
$q[10] = "INSERT INTO kontinent (name) VALUES ('Süd Amerika')";

// Jedes Element des Arrays mit for_each durchgehen:
foreach ($q as $queryString) {
   
mysql_query($queryString);

?>
Tipp: Du solltest in Zukunft Fehlermeldungen einbauen, grad bei SQL-Abfragen/Anfragen
danke für die tips, so funktionierts :P
  Mit Zitat antworten
Alt 29.07.2005, 12:53  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Warum einfach, wenn es auch umständlich geht?
PHP-Code:
$lands=Array(
  
'Afrika',
  
'Asien',
  
'Australien',
  
'Europa',
  
'Karibik',
  
'Mittel Amerika',
  
'Naher Osten',
  
'Nordamerika',
  
'Ozeanien',
  
'Süd Amerika'
);
$sql="INSERT INTO kontinent (name) VALUES (('" implode("'),('"$lands). "'))"
DiBo33 ist offline   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
While schleife -> letzter durchgang Skazi PHP Tipps 2006 7 16.09.2006 00:11
Problem mit while schleife obi PHP Tipps 2006 6 31.08.2006 13:40
mysql_query verschmelzen zweier abfragen (while schleife) Buschdieb PHP Tipps 2006 10 15.07.2006 17:11
while schleife - spezial datensatz einblenden Buschdieb PHP Tipps 2006 2 09.04.2006 13:05
while Schleife gibt nicht alle Daten aus PHP Tipps 2006 2 12.01.2006 19:24
[Erledigt] While schleife in while schleife = nur ein datensatz?! PHP Tipps 2005-2 9 28.10.2005 12:48
while schleife in einer while schleife beim tmpl-sys PHP Tipps 2005-2 0 27.07.2005 15:07
While Schleife Beatbox Off-Topic Diskussionen 8 19.05.2005 21:55
while schleife beenden PHP Tipps 2005 3 29.03.2005 20:35
IF ELSEIF ELSEIF ELSE mit While Schleife PHP Tipps 2005 9 04.03.2005 23:27
Variabel aus while schleife ausserhalb der schleife nutzen PHP Tipps 2005 8 12.02.2005 18:04
resultausgabe mit while schleife in pdf dokument PHP Tipps 2004 2 23.09.2004 14:56
Nach while Schleife funzt nix mehr?! PHP Tipps 2004 15 25.08.2004 00:25
[Erledigt] probleme mit ner while schleife PHP Tipps 2004 5 23.07.2004 17:28
Prob mit While schleife JEGO PHP Tipps 2004 2 04.06.2004 12:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql_query while, while(mysql_query, schleife insert into, php while mysql_query, php führt mysql in whileschleife nicht ausd, php insert führt nichts aus, php führt mysql_query nicht aus, mysql_query in while schleife, mysql_query innerhalb while schleife, php führt keine whileschleife aus, mysql_query führt nix mehr aus, php mysql datenbank mit while schleife insert, mysql_db_query while schleife, mysql_query(insert into, while mysql_query insert, php while schleife insert oder update, mysql_query values, php führt while schleife nicht aus, while schleife insert funktioniert nicht, mysql_query führt nicht aus

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:02 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.