php - 用数据库信息填写下拉菜单?

标签 php mysql mysqli

我已经看到至少几个与此相关的重复问题,但出于某种原因,我无法让数据显示在菜单中。下拉菜单是空白的。

表格是“Colleges2”。我要获取的数据位于名为“名称”的列中。所以它基本上是从 Colleges2 表中获取并显示姓名列表。

mysql_connect('localhost', '', '') or die(mysqli_error()) ;
mysql_select_db('Colleges2');

$sql = "SELECT Name FROM Colleges2";
$result = mysql_query($sql);

?>
<select name="Name" id="">
<?php
while ($row = mysql_fetch_array($result)) {
$Name = $row['Name'];
echo "<option value='" .$row['Name']. "'>" .$row['Name']. "</option>";
} ?>
</select> 

我可能没有使用最新的 mysqli 代码....请原谅我。我不断看到使用 mysql 或 mysqli 的帖子和教程。

更新:

<?php
$sql = "SELECT Name FROM Colleges2";
$conn = new mysqli("localhost", "", "") or die("Failure!") ;

$stmt=$conn->query($sql);

?>
<select name="Name" id="">
<?php
while ($row = $stmt->fetch_assoc() ) {
$Name = $row['Name'];
echo "<option value='" .$Name. "'>" .$Name. "</option>";
} ?>
</select> 

第二次更新(这个有效):

<?php
//$host = "localhost:3306";
//$db_name="univers1_test";
//$user = "univers1_admin";
//$pass = "B@ctad89";

 //$conn = new mysqli($host, $user, $pass, $db_name) or die("DB Connection failed!!");
mysql_connect("localhost:3306", "", "") or die(mysql_error()) ;
mysql_select_db("univers1_test") or die(mysql_error()) ;
$sql = "SELECT Name FROM Colleges2";
$result = mysql_query($sql)  or die(mysqli_error()) ;

//$stmt=$conn->query($sql);
?>

<select name="Name" id="">
<?php
while ($row = mysql_fetch_array($result)) {
?>
<option value="<?php $row['Name']; ?>"><?php echo $row['Name']; ?>     </option>
<?php
} ?>
</select> 

最佳答案

这里是PDO或者MySQLi的使用方法

PDO

<?php
$host = "localhost";
$db_name="Colleges2";
$user = "";
$pass = "";

$sql = "SELECT Name FROM Colleges2"; 
$conn = new PDO("mysql:host=$host;dbname=$db_name",$user,$pass) or die("DB Connection failed!!");
$stmt   =   $conn->prepare($sql);
$stmt->execute();
?>
<select name="Name" id="">
<?php
while ( $row   =   $stmt->fetch(PDO::FETCH_ASSOC) ) {
$Name = $row['Name'];
echo "<option value='" .$Name. "'>" .$Name. "</option>";
} ?>
</select> 

MySQLi

<?php
$host = "localhost";
$db_name="Colleges2";
$user = "";
$pass = "";

$sql = "SELECT Name FROM Colleges2"; 
$conn = new mysqli($host, $user, $pass, $db_name) or die("DB Connection failed!!");
$stmt=$conn->query($sql);
?>
<select name="Name" id="">
<?php
while ( $row   =   $stmt->fetch_assoc() ) {
$Name = $row['Name'];
echo "<option value='" .$Name. "'>" .$Name. "</option>";
} ?>
</select> 

关于php - 用数据库信息填写下拉菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38171451/

相关文章:

php - mysql查询获取两个给定日期之间的结果

php - 我想仅使用 php 和 jquery 而不是 ajax 提交带有其他表单元素的图像(文件)

php - 输入错误的用户名和密码时登录成功

php - 如何从以下连接 php/MySQLi 查找最后插入的 id、事务、提交、回滚

php - 根据列值合并两个对象数组之间的行

mysql 在左连接中使用限制无法正常工作

mysql - 如何阻止 HSQL 被使用?

php - 如何检查mysql更新查询是否成功?

php - mysqli 查询返回 true 但 fetch_assoc 不起作用

javascript - While 循环内的 SQL 查询无法使用 PHP 和 JS 运行