我正在使用 PHP 和 MySQL。我正在尝试从我的数据库中的 2 个表运行 MySQL 查询,然后将结果下载到 CSV。当我通过 phpMyAdmin 运行 MySQL 查询时,结果是我正在寻找的结果,但是当我通过 php 页面运行时,我得到一个错误:
mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /..../..../...../workingpage.php on line 26
显然,没有给出任何结果,并且在运行 .php 程序/页面时我得到一个空白的 .csv 文件。自上周四以来,我每天都在修补这个问题,非常感谢任何指导或帮助。这是我到目前为止所拥有的。
<?php
include("includes/credentials.inc");
$con = mysqli_connect($host, $user, $password, $database)
or die ("COULDN'T CONNECT TO MY SQL SERVER");
$query = "SELECT (
SELECT CONCAT( manufacturer, '-', partnumber ) AS sku
)sku, weight, sell
FROM `amz_parts`
INNER JOIN `amz_mfg` ON amz_mfg.`mfr-code` = amz_parts.`mfr-code`)";
$result = mysqli_query($con, $query);
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=file.csv");
header("Pragma: no-cache");
header("Expires: 0");
function maybeEncodeCSVField($result) {
if(strpos($result, ',') !== false || strpos($result, '"') !== false || strpos($result, "\n") !== false) {
$result = '"' . str_replace('"', '""', $result) . '"';
}
return $result;
}
while ($row = mysqli_fetch_array($result)) {
echo "$row[0] $row[1] $row[2]\n";}
?>