Habe ein problem!

Ich mag mich täuschen aber ist da nicht ein Schleife zuviel drin ?
$tabelle2 nimmt nacheinander alle Werte zwischen msql=1 und msql =Anzahl Namen (also 264) an. Also entstehen 264 Tabellen, in die dann (durch die 2. Schleife) 264 Einträge gemacht werden...
Soll das so sein ?
 
@Fanste ja klar habe ich deinen Post gelesen! ich wähle ja auch die Datenbank aus!! mysql_select_db($dbname,$dbverbindung);
@Nils Hitze ich schreibe normalerweise immer klein aber für dich mache ich heute eine Ausnahme!
@MissPiggy die erste Schleife ist doch dazu da um die Nicknamen aus der datenbank zulesen
und das Ergebnis dann mit hilfe der 2. schleife wieder in die datenbank zuschreiben!

bitte korrigiert mich wenn ich etwas falsch geschrieben habe! :-)
 
Ich hab ein meinem Post geschrieben, dass du die DB vor der Abfrage auswählen musst, also so:
Mach daraus:
PHP:
    $dbverbindung = @mysql_connect("localhost", "***", "***"); 
    $result = mysql_query("SELECT * from ".$tabelle.""); 
    mysql_select_db($dbname,$dbverbindung);

das:
PHP:
    $dbverbindung = @mysql_connect("localhost", "***", "***"); 
    mysql_select_db($dbname,$dbverbindung);
    $result = mysql_query("SELECT * from ".$tabelle."");

So sollte es gehen. Wenn du aus
PHP:
    $result = mysql_query("SELECT * from ".$tabelle."");
das machst:
PHP:
    $result = mysql_query("SELECT * from ".$tabelle."") or die(mysql_error());
Dann bekommst du eine Fehlermeldung. Diese Fehlermeldung lautet bei deinem Code, also noch nicht die DB zuerst auswählen, inetwa so:
"No Database selectet."
Darin kannst du alles sehen, was falsch ist.

mb fanste
 
Die Tabelle 'nick' enthält doch, wenn ich dich richtig verstanden habe, 264 Einträge (für jeden Namen einen). Also wird die while-Schleife 264 Mal durchlaufen.
Innerhalb der while-Schleife befindet sich die for-Schleife, die auch 264 Mal durchlaufen wird ,von t=0 bis t=264, (ok, macht 265).Also wird doch bei jedem while-Schleifen-Durchlauf die for-Schleife 264mal durchlaufen. Das wären für die for-Schleife und die query 264x264 Mal.
Oder täusche ich mich da?
 
Zuletzt bearbeitet:
okay danke ! somit hätten wir das erste problem gelöst! habe aber nun ein 2.:
Code:
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 '(0) values ()' at line 1
hier nochmal das script:
PHP:
<html>
<head>
<title>Y4 Stats</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">

<?php
         include("functions.php");
         $dbname = "usrdb_shoutlbv_bf2";
	$tabelle ="nick";
         $msql = 0;
	$dbverbindung = @mysql_connect("localhost", "shoutlbv", "iop489");
         mysql_select_db($dbname,$dbverbindung);
	$result = mysql_query("SELECT * from ".$tabelle."") or die(mysql_error());
	 while ($Name = mysql_fetch_array($result))
	 {
          echo "<p><p>".$Name['Nickname']."";
          $msql++;
          $_GET['accountName'] = $Name['Nickname'];
	 include("nick.php");
          echo "<p><p>".$cdata[2]."";
          for($t = 1; $t <= 264; $t++) {
          mysql_select_db($dbname,$dbverbindung);
          $dbanfrage2 = "INSERT into ".$tabelle2." (".$t.") values ('".$cdata[$t]."')";
          mysql_query ($dbanfrage2) or die(mysql_error());
          }








	 }

	mysql_close ($dbverbindung)
?>

</body>
</html>
liegt das vielleicht daran das die $cdata[$t] in einer function definiert wird?
oder wo habe ich meinen fehler?

edit: @ MissPiggy ja du täuscht dich da ;)
und zwar die while schleife läuft sooft durch wie nicknamen in der datenbank sind!
und die for schleife läuft 264 mal durch!
edit2: und das ganze ist auch nicht die tabelle nick sonder die tabelle stats1...n!
 
Zuletzt bearbeitet:
Zum einen musst du die 0 in Hochkommas ' setzten. Zum anderen liegt es daran, das sie innerhalb einer Funktion definiert wird. Schreib mal am Anfang von der Funktion
global $cdata;
 
okay danke....
allerdings das nächste problem:
Code:
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 ''1') values ('45435239')' at line 1

nochmal das script:
PHP:
<html>
<head>
<title>Y4 Stats</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">

<?php
         include("functions.php");
         $dbname = "usrdb_shoutlbv_bf2";
	$tabelle ="nick";
         $msql = 0;
	$dbverbindung = @mysql_connect("localhost", "shoutlbv", "iop489");
         mysql_select_db($dbname,$dbverbindung);
	$result = mysql_query("SELECT * from ".$tabelle."") or die(mysql_error());
	 while ($Name = mysql_fetch_array($result))
	 {
          echo "<p><p>".$Name['Nickname']."";
          $msql++;
          $_GET['accountName'] = $Name['Nickname'];
	 include("nick.php");
          echo "<p><p>";
          $tabelle2 = "stats1";
          for($t = 1; $t <= 264; $t++) {
          mysql_select_db($dbname,$dbverbindung);
          $dbanfrage2 = "INSERT into ".$tabelle2." ('".$t."') values ('".$cdata[$t]."')";
	 if (mysql_query ($dbanfrage2) or die(mysql_error())) {
          echo ("Datenbankeintrag erfolgreich.");
	 } else {
	 echo ("Es traten Probleme auf.");
          }
          }








	 }

	mysql_close ($dbverbindung)
?>

</body>
</html>
 
In dem script was du als letztes gepostet hast, hast du vergessen $tabelle2 zu definieren (nein, ich sehe grade, vergessen hast du es im vorletzten, aber du definierst es anders als am Anfang, hier hast du einen statischen Dateinamen). Und wenn der Tabellenname immer gleich ist kannst du dir die Variable ja eh sparen.
Ansonsten versuch es mal mit backticks, ich habe festgestellt, dass einige Anfragen in Backticks laufen, nicht aber in Hochkommata

Und die letzte else Anweisung kannst du auch weglassen, da, wenn die query nicht ausgeführt werden kann das script beendet wird
 
Zuletzt bearbeitet:
@MissPiggy das hast du scharf beobachtet ich habe die Tabelle lediglich statisch gemacht um eine mögliche Fehlerquelle auszumerzen ;)
was sind blackticks?
ja da hast du recht die else anweisung kann ich weglassen!
@fanste macht doch nichts irren ist menschlich ;)
 
Zurück