此代码成功列出了数据库名称:
<?php
// Usage without mysql_list_dbs()
$link = mysql_connect('localhost', 'setlist', 'music');
$res = mysql_query("SHOW DATABASES");
while ($row = mysql_fetch_assoc($res)) {
echo $row['Database'] . "\n";
}
?>
我想在HTML下拉列表中显示这些名称。我试图实现的代码是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title><!-- Insert your title here --></title>
</head>
<body>
<div align="center">
<select name="mydropdown">
<?php
// Usage without mysql_list_dbs()
$link = mysql_connect('localhost', 'setlist', 'music');
$querry = mysql_query("SHOW DATABASES");
while ($row = mysql_fetch_assoc($query)) {
echo '<option value="'.$row['Database'].'">'.$row['Database'].'</option>';
}
?>
</select>
</div>
</body>
</html>
起初我尝试在PHP脚本中包含<select name="mydropdown">
和</Select>
,但格式似乎搞砸了。可能是格式化是搞乱这段代码的吗?
我对这些语言完全陌生,而且我的知识缺乏很可能也是错误的。任何帮助将不胜感激。
答案 0 :(得分:4)
$querry = mysql_query("SHOW DATABASES");
应为$query
。
另外:给自己一个体面的IDE,打开PHP错误并查看PDO或MySQLi,因为mysql_-exension位于deprecation process。
答案 1 :(得分:2)
代码中存在变量不匹配。
将$querry
更改为$query
您在这里使用$query
。
$row = mysql_fetch_assoc($query)
答案 2 :(得分:0)
检查这个
$querry = mysql_query("SHOW DATABASES");
while ($row = mysql_fetch_assoc($query)) {
你在$query
拼写错误。
答案 3 :(得分:0)
因此,代码变为
<?php
$db = new DB();
$data = $db->getCol("SHOW DATABASES");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title><!-- Insert your title here --></title>
</head>
<body>
<div align="center">
<select name="mydropdown">
<? foreach ($data as $name): ?>
<option><?=htmlspecialchars($name)?></option>
<? endforeach ?>
</select>
</div>
</body>
</html>
答案 4 :(得分:-1)
尝试
不要使用已被弃用的mysql_*
。使用mysqli_*
或PDO
<?php
// Usage without mysql_list_dbs()
$link = mysqli_connect('localhost', 'root', '')or die(mysqli_error());
$query = mysqli_query("SHOW DATABASES")or die(mysqli_error());
echo '<select name="databases" id="databases">';
while ($row = mysqli_fetch_assoc($query))
{
echo '<option value = "'.$row['Database'].'">'.$row['Database'].'</option>';
}
echo "</select>";
?>
</div>
</body>
</html>
$query
的拼写错误,请更改您的数据库连接设置。