【问题标题】:PHP Arrays and mysqli multi queryPHP 数组和 mysqli 多查询
【发布时间】:2013-08-13 10:46:24
【问题描述】:

我试图理解两件事:

  1. 如果以下情况可行;
  2. 我在实施它时做错了什么。

我在 PHP 中有一个手动编码的数组:

$q[1] = 'Monday';
$q[2] = 'Tuesaday';
$q[3] = 'Wednesday';

我有一个 单独的 mysqli multi-query 正在带回另一组数据。当我遍历多查询和回显结果时,我需要包含手动编码的 PHP 数组中的信息,如上所述 - 我当前的代码如下:

echo "<tr><td class='qnum'><span class='bold'>". $n .".</span></td>
<td width='450px' > ". $q[$n] ." (<span class='italics'>". $row[0] ."</span>)</td>
<td class='set2'>".$row[9]."%</td>";

我有一个指针 $n 随着 mysqli 查询循环遍历结果而增加,我正在使用 $q[$n] 尝试从 PHP 查询中提取相关数据,但它不起作用。然而,奇怪的是我将 $q[1] = 'Monday'; 更改为 $q = 'Monday';,然后在我的 echo 声明中引用 $q - 它有效!!!

我还在下面包含了 mysqli 代码以供参考:

if ($mysqli->multi_query($query)) {
    $n = 0;

        do {
            if ($result = $mysqli->store_result()) {
        $i = 1;
        $p = 1;

    while ($row = $result->fetch_row()) {
        $n++;

 echo "<tr><td class='qnum'><span class='bold'>". $n .".</span></td>
<td width='450px' > ". $q[$n] ." (<span class='italics'>". $row[0] ."</span>)</td>
<td class='set2'>".$row[9]."%</td>";

                echo "</tr>";
        $result->free();
    }

    } while ($mysqli->next_result());
}

$mysqli->close();

关于我哪里出错了有什么想法、想法和建议吗?

【问题讨论】:

  • 如果这是一个正确的 sn-p 那么你有一个严重的语法错误,有 2 个循环未关闭,还有 2 个 if 条件未关闭
  • 嗨 DevZer0 - 这是代码的上半部分 - 这是一段巨大的代码,真的很长在这里发布。循环和条件已正确关闭。
  • 好吧,没有看到你的循环的其余部分发生了什么,很难说出了什么问题,你能在一组合理的行中重现同样的问题,然后在这里发布
  • 我已经添加了代码的底部 - 应该是正确的。
  • 在什么情况下不起作用?

标签: php arrays mysqli while-loop mysqli-multi-query


【解决方案1】:

看起来你的 do-while 循环有点奇怪......语法不应该是do { ... } while(condition); 您似乎在使用两者的混合物。

另外,您的 $q 只有三个元素...如果您确定要将其与在循环中递增的 $n 一起使用,则可以将其与模一起使用,因此总有一个 $q 索引$n?

示例:$q[$n % count($q)]

我只是在这里钓鱼,因为我不完全确定你的目标是什么。

【讨论】:

  • 有 $q[1] 到 $q[50] - 所以发布所有这些是没有意义的!为了说明的目的,我做了三个。手动数组有 50 并且 mysqli 也返回 50 - 它们匹配。因此$q[$n] 代码。
【解决方案2】:

我没有确保第一个 PHP 手动数组实际上是正确的 - 菜鸟错误!

$q = array(1 => 'Monday', 'Tuesday', 'Wednesday');

【讨论】:

    猜你喜欢
    • 2013-09-23
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 2020-07-28
    • 2013-05-02
    • 1970-01-01
    相关资源
    最近更新 更多