【问题标题】:php query for mysql textphp查询mysql文本
【发布时间】:2013-08-03 08:42:31
【问题描述】:

我在查询 mysql“文本”数据时遇到问题。

这是我的代码:

$result_odg = mysqli_query($con,"SELECT * FROM agenda WHERE data = '" . $today . "' AND odg IS NOT NULL");
echo "<h4>ODG:</h4>";

if (mysqli_fetch_array($result_odg)) {
    $i = 1;
    echo "<table id=\"agenda_odg\">";
    while($row = mysqli_fetch_array($result_odg)) {
        if($i % 2 == 0)
            $cellID = "even";
        else
            $cellID = "odd";
        echo "<tr id=" . $cellID . "><td>" . $row['testo'] . "</td></tr>";
        $i == $i++;
    }
    echo "</table>";
} else {
    echo "No ODG";
}

该表有以下字段:id、data_ins、data、testo、odg、agenda、ok。

$row['testo'](例如$row['id'])中使用“testo”以外的任何其他名称都会打印出文本。对“TEXT”类型的字段有什么特殊的查询吗?也许是因为它太重并且需要一个特定的阵列?在手册上找不到任何关于此的内容...

【问题讨论】:

  • HTML 元素的 ids 应该是唯一的,使用一个类来表示奇数或偶数
  • 为什么你的代码中只有$i==$i++;?解释器在此处进行比较并返回TRUEFALSE,但表达式的结果未分配给变量。
  • 文本类型的列没有什么特别需要的。拼写是否正确?您可以打印 $row 数组以确保它存在 - print_r($row);
  • @Sean print_r($row) 什么也不返回。它拼写正确,好像我在 phpmyadmin 中复制并粘贴查询我得到至少 1 个结果...
  • 好的,我有一个更新:问题是只有第一个结果没有被打印出来......我插入了一些新行,我注意到这个

标签: php mysql arrays text


【解决方案1】:

请使用

// no need to fetch the result for check (shorten runtime time)
if ($result_odg) {

    while($row = mysqli_fetch_assoc($result_odg)) {
        // use $row['testo'] is possible

        // replace this too
        $i++;
    }
}

【讨论】:

  • @l736k : fetch_arrayfetch_assoc 之间的区别在于第一个将结果提取到 具有数字索引的数组中乙>。第二个将结果提取到关联数组中,您可以在其中使用字符串作为索引来访问变量。
  • 好的,感谢您向我澄清...所以我猜 php 有点灵活,因为在这两种情况下我都可以使用字符串访问数组?无论如何,我将来会更加注意所以,你能告诉为什么第一行没有被打印出来吗?即使按照您的建议更正了代码?
  • @l736k : 你能检查查询是否返回所有请求的行吗?我问它是因为 fetch 处理来自查询任务的结果集。如果缺少该行,则它来自查询任务。另外,您可以将此标记为未来用户的答案吗?
  • 发现问题:我执行了两次mysqli_fetch_array($result_odg)
【解决方案2】:

为了使查询快速选择那些需要的字段。在这种情况下,您的查询应该是这样的:

$result_odg = mysqli_query($con,"SELECT testo FROM agenda WHERE data = '" . $today . "' AND odg IS NOT NULL");

【讨论】:

  • 嗨,一旦测试该功能是否正常工作,我会改进查询
猜你喜欢
  • 2011-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多