Как отобразить данные базы данных mysql на странице и в csv-файле?
я разработал простую html-форму под названием dbdata, и там есть кнопка отправки, и как только вы нажмете на нее, она перейдет на страницу под названием displaydb.php
<?php define('DB_NAME', 'phpdatabase'); define('DB_USER', 'root'); define('DB_PASSWORD', 'root'); define('DB_HOST', 'localhost'); $link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $filename = 'Uploads/'.strtotime("now").'.csv'; $sql = mysqli_query($link,"SELECT * FROM userdb") or die(mysqli_error()); $num_rows = mysqli_num_rows($sql); if($num_rows >= 1) { $row = mysqli_fetch_assoc($sql); $fp = fopen($filename,"w"); $seperator = ""; $comma = ""; foreach($row as $name => $value){ $seperator .= $comma . '' .str_replace('','""',$name); $comma = ","; } $seperator .= "\n"; echo $seperator; fputs($fp,$seperator); mysqli_data_seek($sql, 0); while($row = mysqli_fetch_assoc($sql)); { $seperator = ""; $comma = ""; foreach($row as $name => $value){ $seperator .= $comma . '' .str_replace('','""',$value); $comma = ","; } $seperator .= "\n"; fputs($fp,$seperator); } fclose($fp); } ?>
но это дает мне ошибку под названием
Цитата:Предупреждение: недопустимый аргумент, предоставленный для foreach () в C:\wamp64\www\Websites\displayDB.php на линии 41
который является вторым циклом foreach.
foreach($row as $name => $value){ $seperator .= $comma . '' .str_replace('','""',$value); $comma = ","; }
когда я пытаюсь сделать это с одним циклом foreach. он будет печатать данные базы данных на другой странице. но только заголовок базы данных.
id, имя, адрес
как это.
и он также создаст csv-файл с заголовком базы данных.
но я хочу, чтобы все данные были напечатаны в файле.
вот почему я создал второй цикл foreach.
Что я уже пробовал:
прежде чем добавить этот второй код цикла foreach, я скомпилировал его, и он скомпилировался хорошо.
теперь это не работает.
я думаю,что есть ошибка во втором цикле foreach.
ZurdoDev
Ошибка гласит: "недопустимый аргумент, предоставленный для foreach ()". Таким образом, вам придется отлаживать код и проверять то, что вы передаете.