mySQL in CSV speichern - "mysql_num_rows() / mysql_fetch_row()" Fehler

Immer wenn eine Tabelle oder ien Feld gleich wei ein SQL-Befehkl heisst, muss der Name in ` eingepackt werden.

` ist nicht gleich " und auch nicht gleich '

das `muss am Schluss im SQL-String sein. Die " sind PHP-Begrenzungszeichen.

PHP:
$table = 'order';
$sql = "SHOW COLUMNS FROM `{$table}`";
//oder für diejenigen die die {}-Schreibweise nicht mögen
$sql = "SHOW COLUMNS FROM `".$table."`";

PS: ` ist beid er Schweizer Tastatur Links vom Backspace: SHIFT+^ und dann ein Leerschlag (Ist ein Kombinationszeichen)
 
Nun bekomme ich zwar die Daten (Juhuu)

Aber davor ne ganze Reihe schöner Meldungen a la:

Code:
Resource id #2
Notice: Undefined offset: 7 in /var/www/web187/html/SALES/sales_db_csv.php on line 36

Notice: Undefined offset: 8 in /var/www/web187/html/SALES/sales_db_csv.php on line 36

Notice: Undefined offset: 9 in /var/www/web187/html/SALES/sales_db_csv.php on line 36
...
 
Hast du deinen Code so wie in Beitrag 8 geschrieben mal geändert?

Wenn du ein geschütztes Wort wie z.B. "ORDER" als Feld- bzw. Tabellennamen hast, dann musst du es in " `´ " die Anführungszeichen stecken.

Ok, war zu langsam.

Was steht jetzt in Zeile 36?
 
Das heisst, dass der Array $rowr keinen Eintrag mit dem Index $j hat.
Schau dir mal $rowr mit var_dump() an.
 
Nee, danach. Direkt vor
Code:
print $csv_output;

Ist das denn ein schwerwiegender Fehler? Ich könnte den doch auch einfach ausblende mit:
Code:
error_reporting(E_ERROR | E_WARNING | E_PARSE);


Nachtrag
Oha, wenn ich es in die while-Schleife setze gibt er die Infos korrekt aus!
Code:
while ($rowr = mysql_fetch_row($values)) {
for ($j=0;$j<$i;$j++) {
$csv_output .= $rowr[$j]."; ";
}
$csv_output .= "\n";
var_dump($rowr);
}

Nachtrag2
Doch nicht ;) Ich hatte bereits die Meldungen ausgeblendet. Aargh!
 
Zuletzt bearbeitet:
Zurück