PHP MySQLi到HTML组合框
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP MySQLi到HTML组合框相关的知识,希望对你有一定的参考价值。
我正在尝试将数据从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 ['countryName']。” - 来自第二个回声:{$ row-> countryCode}
我已经检查了连接,然后在添加一个if表示查询不为空的情况之前
您的第二个<option>
未显示的原因是因为您使用的是“获取对象”语法$row->column
。
你需要使用其中一个;不是都。
要么你用
while($row=mysqli_fetch_assoc($result)){
echo "<option value='".$row['countryCode']."'>".$row['countryName']."</option>";
}
或(以双引号转义):
while($row=mysqli_fetch_object($result)){
echo "<option value="{$row->countryCode}">{$row->countryCode}</option>";
}
您还需要注意,在迭代这些列名称时,列名称区分大小写。
意思是,countryCode
和countrycode
是两种不同的动物,countryName
和countryname
;应该是这样吗?
- 检查查询是否有错误。
脚注:
你说:“但显示的是: - 来自第一个回声:”。$ row ['country Name']。“ - 来自第二个回声:{$ row-> country Code}”
我不明白你的意思。我已经测试了你的代码,它工作正常(除了“获取对象”语法问题)。如果你的意思是你看到“代码”而不是被解析,那么你要么不使用网络服务器,要么你正在以file:///file.php
而不是http://localhost/file.php
或.html
的身份访问它应该是这种情况作为文件扩展名不明。
- 这是我对这个问题的结论。
好吧,这是一个愚蠢的问题,当我从wamp 2.5更改为wamp 3我忘记删除wwamp粘贴,我有2,所以我使用了错误的填充,因为那个不是在服务器上使用apache浏览器评论PHP
以上是关于PHP MySQLi到HTML组合框的主要内容,如果未能解决你的问题,请参考以下文章