2 Stimmen

Fetch(PDO::FETCH_ASSOC) kann nicht ausgeführt und die Csv-Datei nicht aktualisiert werden

// First, prepare the statement, using placeholders
$query = "SELECT * FROM tableName";
$stmt = $this->connection->prepare($query);

// Execute the statement
$stmt->execute();
var_dump($stmt->fetch(PDO::FETCH_ASSOC));

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) 
{
echo "Hi";
// Export every row to a file
fputcsv($data, $row);
}

Ist dies der richtige Weg zu tun, und wenn ja, warum bekomme ich falschen Wert für var_dump und als es nicht in while-Schleife gehen und nicht in Csv-Datei schreiben.

Irgendwelche Vorschläge?

1voto

SeanJA Punkte 9818

Eine Sache, die fehlt, ist, dass Sie die csv-Datei zuerst öffnen müssen:

$fp = fopen('file.csv', 'w');

dann können Sie dort Daten eingeben:

fputcsv($fp, $data);

Wie für die var_dump Druck aus falsch, müssten Sie mehr Informationen über welche Objekte, die Sie tatsächlich verwenden ich denke, bereitstellen. (z.B.: was ist $this->connection?)

Ich weiß nicht, ob das hilft, aber versuchen Sie, es ohne $this->connection zu machen:

$config['database'] = 'sakila';
$config['host'] = 'localhost';
$config['username'] = 'root';
$config['password'] = '';

$d = new PDO('mysql:dbname='.$config['database'].';host='.$config['host'], $config['username'], $config['password']);
$query = "SELECT * FROM actor";
$stmt = $d->prepare($query);

// Execute the statement
$stmt->execute();

var_dump($stmt->fetch(PDO::FETCH_ASSOC));

$data = fopen('file.csv', 'w');

while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
    echo "Hi";
    // Export every row to a file
    fputcsv($data, $row);
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X