*" die"的条件当我把它复制到问题时,我的代码被遗漏了。我把它放回去了。
我知道这个问题可能看似重复,但我没有在任何其他问题中找到答案。我正在尝试根据数据库中的列创建一个下拉列表。我尝试了两种不同的方式,但都没有给我正确的结果。有谁知道这样做的正确方法?
我在其他StackOverflow答案中看到的第一种方式(Fetching data from MySQL database to html drop-down list,Fetching data from MySQL database to html dropdown list)。我的代码如下:
<?php
$connect = mysql_connect('localhost', 'root');
{
die ("Unable to connect to database<br>");
}
$select = mysql_select_db('ViviansVacations');
{
die ("Unable to select database<br>");
}
$query = "SELECT * FROM Destinations";
$result = mysql_query($query);
?>
<select name="select1">
<?php
while ($line = mysql_fetch_array($result))
{
?>
<option value="<?php echo $line['Europe'];?>"> <?php echo
$line['field'];?> </option>
<?php
}
?>
</select>
NetBeans向我发送错误消息,说明&#34;元素中不允许使用文字&#39;选择&#39;在这种情况下&#34;。
我尝试的第二种方式:
ListView {
id: list
model: MyModel
delegate: TextInput {
text: display
onEditingFinished: {
model.edit = displayText
}
}
此代码未产生任何错误。然而,在表单内部是开放的php行,后面是一个空的下拉框:
&#34); } $ select = mysql_select_db(&#39; ViviansVacations&#39;); {die(&#34;无法选择数据库 &#34); } $ query =&#34; SELECT * FROM Destinations&#34 ;; $ result = mysql_query($ query); ?&GT;
答案 0 :(得分:1)
因此,您的方法存在许多问题。首先,您使用的是弃用的mysql_*
函数,这是个坏主意,其次您没有正确调试数据库连接:
$connect = mysql_connect('localhost', 'root');
{
die ("Unable to connect to database<br>");
}
在上面的代码中,die语句将始终执行停止进一步执行。
还要确保数据库ViviansVacations
和表Destinations
以及列Europe
存在正确的名称(遵循标准并尝试使用所有小写字母进行数据库/表/列命名)< / p>
正确的mysqli_*
方法是(在本地测试并且选择框正确形成):
<?php
$db = 'ViviansVacations';
$mysqli = new mysqli('localhost', 'root', '', $db);
if($mysqli->connect_error)
die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
$query = "SELECT * FROM Destinations";
$result = mysqli_query($mysqli, $query);
?>
<select name="select1">
<?php
while ($row = mysqli_fetch_array($result)) {
echo "<option value='" . $row['Europe'] . "'>" . $row['Europe'] . "</option>";
}
?>
</select>
答案 1 :(得分:0)
有几件事,你要验证和纠正。
首先,您的数据库连接代码似乎不正确。我没有看到你想要调用die
的任何条件。
$connect = mysql_connect('localhost', 'root');
{
die ("Unable to connect to database<br>");
}
从上面的代码中,下面的行将一直执行
die ("Unable to connect to database<br>");
您应该将数据库连接代码更正为:
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
您可以参考mysql_connect了解用法。
另外,请验证您的文件扩展名为.php
答案 2 :(得分:0)
主要是你的问题是数据库连接。试试这个 -
<?php
mysql_connect("localhost", "root", "") or
die("Could not connect: " . mysql_error());
mysql_select_db("your_db");
$result = mysql_query("SELECT * FROM your_table");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
print_r($row);
echo "<br>";
}
mysql_free_result($result);
?>
答案 3 :(得分:0)
可能会遇到一些问题:
mysqli_connect
代替mysql_connect
,因为mysql已弃用print_r($connect)
,在phpmyadmin中执行查询,print_r($result)
然后循环print_r($row)
。最后,我相信你会得到你想要的结果,而且你会详细了解发生了什么。
答案 4 :(得分:-1)
你可能想尝试使用它.. dept_id和描述你必须根据你的数据库改变。希望这会对你有所帮助
<?php
$sql = mysql_query("SELECT dept_id ,description FROM department
ORDER BY dept_id ASC");
db_select($sql,"dept_id",$dept_id,"","-select Department-","","");
?>