【发布时间】:2015-02-23 05:26:27
【问题描述】:
我有 mysql db 和不同的表。表之间的数据是链接的,我使用用户 ID 检索和显示它们。我使用了来自 PHP MYSQLi Displaying all tables in a databases 的参考。我使用fputcsv($fp, $val) 将结果输出到.csv 文件中,但出现此错误:
警告:fputcsv() 期望参数 2 为数组**。这是我的代码:
<?php
$con=mysqli_connect("localhost","root","","mytable");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = "SELECT user_id FROM tbl_users";
$users_profile_user_id = mysqli_query($con, $sql);
$row = mysqli_fetch_array($users_profile_user_id, MYSQLI_ASSOC);
$fp = fopen("user_profile_id.csv", "w");
foreach($row as $val) {
fputcsv($fp, $val);
}
fclose($fp);
?>
我还尝试用 var_export($val) 替换 fputcsv($fp, $val) 并且它只显示数据库中的 1 个条目。现在我知道它为什么会显示错误,因为它显示的是一个字符串,但它的修复方法是什么?如何从数据库中获取所有条目,并在 .csv 文件中显示所有这些元素?
【问题讨论】:
-
尝试 $row 的 var_dump 看看你会得到什么。
-
你为什么不让格式化的编辑成为?
-
尝试了 $row 的 var_dump,但显示相同的错误
-
禁用该语句
/*fputcsv($fp, $val);*/并重试。甚至替换它/*fputcsv($fp, $val);*/ var_export($val);你会更好地理解$val实际包含的内容。 -
它只包含 1 个条目。 user_id 包含许多条目。我该如何解决?
标签: php mysql arrays csv mysqli