PHP MySQLi到HTML组合框

PHP MySQLi到HTML组合框,php,html,mysqli,combobox,Php,Html,Mysqli,Combobox,我试图将数据从MySQL数据库传递到HTML组合框,我正在使用php来实现这一点 <form method="POST"> <select class="js_inline_input"> <?php $servername = "localhost"; $username = "root"; $password = "";

我试图将数据从MySQL数据库传递到HTML组合框,我正在使用php来实现这一点

<form method="POST">
     <select class="js_inline_input">
          <?php
               $servername = "localhost";
               $username = "root";
               $password = "";
               $db = "js_milhoes";

               $conn = new mysqli($servername, $username, $password, $db);

               if ($conn->connect_error) {
                  die("Connection failed: " . $conn->connect_error);
               }else{
                  echo "<option> Connected successfully </option>";
               } 

               $sql = "SELECT * FROM js_country";
               $result = $conn->query($sql);

               while($row=mysqli_fetch_assoc($result)){
               //My Personal echo     
              echo "<option value='".$row['countryCode']."'>".$row['countryName']."</option>";
              //Echo i saw on this site
              echo "<option value='{$row->countryCode}'>{$row->countryName}</option>";
               }

               $conn->close();

            ?>
      </select>
    </form>


第二个
未显示的原因是您使用了“获取对象”语法
$row->column

你需要使用其中一个;不是两者都有

要么你用

while($row=mysqli_fetch_assoc($result)){

    echo "<option value='".$row['countryCode']."'>".$row['countryName']."</option>";

}
while($row=mysqli\u fetch\u assoc($result)){
回显“$row['countryName']”;
}
或(并用双引号转义):

while($row=mysqli\u fetch\u object($result)){
回显“{$row->countryCode}”;
}

您还需要注意,当迭代类似的列名时,列名是区分大小写的

这意味着,
countryCode
countryCode
在这里是两种不同的动物,就像
countryName
countryName
一样;如果是这样的话

  • 检查查询中的错误

脚注:

您声明:“但显示的是:-来自第一个回显:“.$row['countryName']”。-来自第二个回显:{$row->countryCode}”

我不明白你说的是什么意思。我已经测试了您的代码,它运行良好(除了“fetch object”语法问题)。如果您的意思是看到的是“代码”,而不是被解析,那么您不是在使用Web服务器,就是在以
file:///file.php
而不是
http://localhost/file.php
或as
.html
应为这种情况,因为文件扩展名未知

  • 这是我对这个问题的结论

好吧,这是一个愚蠢的问题,当我从wamp 2.5改为wamp 3时,我忘记删除wwamp粘贴,我有2个,因此,我使用了错误的填充,并且因为该填充不在使用apache的服务器中,所以浏览器对php进行了注释

我检查了我的代码,并且对部分php进行了注释,我不知道why@JSoares好的,那么我们的问题在哪里?我发布的内容与您发布的代码相关,应该已经解决了这个问题。我不会发布不起作用的答案,我在发布前做了测试。
while($row=mysqli_fetch_object($result)){

    echo "<option value=\"{$row->countryCode}\">{$row->countryCode}</option>";

}