【问题标题】:How to fix Mysqli error #1064 in my php code?如何修复我的 php 代码中的 Mysqli 错误 #1064?
【发布时间】:2019-01-22 22:02:47
【问题描述】:

我有 2 个要在 HTML 表中执行的查询。

这是我的代码:

$query= "SELECT Naam , Nummer , Type , Inkoopprijs FROM palenpanelen WHERE Hoogte='" . $hoogtes . "'";
$query.="SELECT Naam, Nummer , Type , Inkoopprijs FROM palenpanelen WHERE Hoogte='" . $benodigdepaal ."'";

/* execute multi query */
if (mysqli_multi_query($conn, $query)) 
    {
        do 
            {
            /* store first result set */
            if ($result = mysqli_store_result($conn)) 
                {
                while ($row = mysqli_fetch_row($result)) 
                    {
                    dump($row);
                    }
                mysqli_free_result($result);
                }
            /* print divider */
            if (mysqli_more_results($conn)) 
            {
                printf("-----------------\n");
            }
            } while (mysqli_next_result($conn));
        die;
    }else{echo mysqli_errno($conn);}

现在它在我的屏幕上显示错误:1064 我在互联网上搜索但找不到解决方案。 谢谢。

【问题讨论】:

  • 请显示完整信息。我在您的 2 个查询之间没有看到分隔符?它们需要用;隔开
  • @JonStirling 没有消息它只显示 1064,分隔符是什么意思?
  • 尝试在第一个查询的末尾添加分号$query= "SELECT Naam , Nummer , Type , Inkoopprijs FROM palenpanelen WHERE Hoogte='" . $hoogtes . "'; "; $query.="SELECT Naam, Nummer , Type , Inkoopprijs FROM palenpanelen WHERE Hoogte='" . $benodigdepaal ."'";
  • 当然它只显示错误号,当你使用mysqli_errno时……输出mysqli_error的内容!
  • 阅读documentation了解更多信息

标签: php html mysql mysqli


【解决方案1】:

即使选择参数和where条件相同,为什么还要使用两个查询。您可以编写如下代码

$query= "SELECT Naam , Nummer , Type , Inkoopprijs FROM palenpanelen 
WHERE Hoogte='" . $hoogtes . "' or Hoogte='" . $benodigdepaal ."'";

$results = mysqli_query($query);

while($result = mysqli_fetch_assoc($results)) {
    // your code
}

也不要忘记使用prepare statement 防止注入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-08
    • 2018-10-05
    • 2014-06-24
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多