php - mysqli 在 php 中给出 0 个查询结果,但在终端中给出正确结果

标签 php mysql

我有两个表和一个这两个表的关联表。我正在尝试运行一个查询,该查询给出了从终端运行代码的所需结果,但如果从 php 执行,则给出零列或未知列结果。

这是我的查询:

$result = $mysqli->query("SELECT * FROM projects p 
JOIN projects_groups pg on p.projectid = pg.projectid 
JOIN groups g on g.groupid = pg.groupid 
WHERE p.projectid = 'bestproject'");

完全按照上面的方式运行代码会返回 0 个结果。如果我用变量切换“bestproject”,它会返回一个未知的列 bestproject 错误。

我的查询有什么问题?

更新:我在接收结果的函数中出现了一个愚蠢的错误,这让我感到困惑。当查询成功时,接收函数显示一个空数组,当查询错误时,处理查询的函数显示空或失败结果(不是上面的那个)。我一直在查询中搜索错误,而不是查看其他地方。抱歉浪费您的时间。

最佳答案

你在那里所做的一切都选择了哪些表格和内容。您还需要有一个 php 函数来写出内容。

示例:

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
} else {
    echo "0 results";
}

如您所见,回显也写出了表格的内容。你也可以 make 所以你不必使用 $row['id'] 只需将它保存在另一个变量中:

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {

      $id = $row['id'];
      $first = $row['firstname'];
      $last = $row['last'];

      echo "id: $id - Name: $first $last<br>";

    }
} else {
    echo "0 results";
}

当然你需要在表格中有一些内容

关于php - mysqli 在 php 中给出 0 个查询结果,但在终端中给出正确结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46285658/

相关文章:

php - CodeIgniter 多数据库连接不从第二个数据库中获取数据

PHP 读取realm.io 文件

javascript - 如何根据通过 Controller 发送的结果动态填充 morris.js 图表?

php - 通过PHP脚本在Android中根据Checkbox点击填充MySQL表

php - 选择框,在 WordPress 中使用自定义字段和自定义帖子类型对帖子进行排序?

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

php - strlen 如何处理数字?

php - 从价格中删除金额然后插入新价格

php - 显示 mysql 表中的所有数据以及第二个表中的附加信息

php - 如何编写查询来匹配所有表?