php - 使用php将sql表输出到HTML

标签 php mysql

<分区>

我需要我的 php 来打印出包含所有天气预报以及人员姓名和电子邮件的 HTML 表格。 它给了我一个错误 警告:mysqli_stmt::bind_result():绑定(bind)变量数与准备语句中的字段数不匹配

这是我的代码

$query = "SELECT weather.report,
 cities.name, cities.email FROM weather INNER JOIN cities ON weather.city=cities.city ";


$stmt = $mysqli->stmt_init();
if ($stmt->prepare($query)) {
    //$stmt->bind_param("s", $player); 
    $stmt->execute();
    $stmt->bind_result($tempCity, $tempReport, $tempName, $tempEmail); 
    echo "<table width=500 border=1 cellpadding=5>
            <tr><th>Temperature</th><th>Report</th><th>City</th><th>DATE</th></tr>";

    while ($stmt->fetch()) { 
        echo "<tr>
                <td>".$tempCity."</td>
                <td>".$tempReport."</td>
                <td>".$tempName."</td>
        <td>".$tempEmail."</td>
              </tr>\n";
    }
    echo "</table>";
    $stmt->close();
} else {
    $error = "Sorry could not retrieve information";  echo $error;  return;
}

$mysqli->close(); 

谢谢你的帮助

最佳答案

实际上就是字面意思。您需要在查询中绑定(bind)所选项目的确切数量。因此,报告、姓名、电子邮件来自您的“SELECT ..... 如果您只选择三个,则 bind_result 中只能有 3 个,知道吗?所以

$stmt->bind_result($tempCity, $tempReport, $tempName, $tempEmail); 

应该是

  $stmt->bind_result($tempReport, $tempName, $tempEmail); 

绑定(bind)也必须按照您选择它们​​的顺序进行。如果你翻转报告和城市,报告数据将在绑定(bind)时进入城市,反之亦然。只是一个注释

关于php - 使用php将sql表输出到HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43212266/

相关文章:

php mysql 查询不返回任何内容,具有相同查询的 phpmyadmin 返回结果

php - get_option 破坏 wordpress 中的 php 样式表

Mysql:按符号分组但保留所有顶部目标值行

php - Laravel 5.6 在没有命令的情况下启动站点

php - 从网络客户端访问 REST API 的最佳方式是什么?

mysql - 如何在jsp中从mysql数据库检索blob图像

javascript - 将数据存储到别名为 mysql 的列中

mysql - 如果第三个表中的行与 where 子句匹配,则双连接

php - PHP/MySQL 脚本中的访问被拒绝错误

php - 将编辑文本值从 android 插入到 mysql