(PDO :: FETCH_ASSOC) fetch yürütemeyebilirsiniz ve güncellemiyor csv dosyası

1 Cevap php
// 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);
}

Yapmak için bu doğru bir yoldur ve neden var_dump için yanlış bir değer elde edebilirim daha ve bu süre döngü içine gitmez ve csv dosyasına yazmaz daha evet eğer.

Herhangi bir öneriniz?

1 Cevap

Eksik bir şey ilk csv dosyasını açmak gerekir ki:

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

sonra içine verileri koyabilirsiniz:

fputcsv($fp, $data);

Yanlış yazdırmadan var_dump gelince, sen aslında bence kullanarak nesneleri hakkında daha fazla bilgi sağlamak gerekir. (Örn:? $ Ne bu-> bağlantı)

Ben bu yardımcı olur bilmiyorum, ama $ this-> bağlantı olmadan bunu yapmak için denemek gerekmez:

$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);
}