我在网上查看了其他一些与此相关的问题,但似乎没有人真正遇到我的错误。
我编写了我的PHP代码并将其实现到我的HTML中,我得到了下拉框,但它实际上并不想显示任何值。我应该在代码中包含任何实现或修复吗?我如何让它工作?
我的数据库名为:Treatments
我希望显示的数据库中的列名为:Treatment
treatment_dropdown.php
<?php
$hostname = 'host_name';
$dbname = 'database_name';
$username = 'username';
$password = 'password';
$con=mysql_connect($hostname,$username,$password,$dbname) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db($dbname,$con) or die("Failed to connect to MySQL: " . mysql_error());
$query = "SELECT * FROM `Treatments`";
$result = mysql_query($con, $query);
$options = "";
while ($row = mysql_fetch_array($result)){
$options = $options . "<option>$row[1]</option>";
}
?>
HTML:
<body>
<select>
<?php
echo $options;
?>
</select>
</body>
答案 0 :(得分:2)
考虑更改此行:
$query = "SELECT * FROM 'Treatments'";
使用反引号代替单引号,如下所示:
$query = "SELECT * FROM `Treatments`";
在我的测试查询中,由于这个原因我收到了错误,如果有帮助请告诉我。
答案 1 :(得分:1)
将<?php include 'treatment_dropdown.php'; ?>
添加到HTML文件的顶部。这应该允许您访问$options
字符串,以便可以在该文件中使用它。请注意,为了使其正常工作,treatment_dropdown.php
需要与HTML文件位于同一目录中。如果不是,则需要更改include语句以反映相应的文件路径。
答案 2 :(得分:0)
正确的代码:
$query = "SELECT * FROM `Treatments`";
答案 3 :(得分:0)
这是您的PHP文件应该是什么样子:
<?php
$hostname = 'localhost';
$dbname = 'Treatments';
$username = 'root';
$password = '';
$con = mysql_connect( $hostname, $username, $password, $dbname) or die("Failed to connect to MySQL: " . mysql_error());
$db = mysql_select_db($dbname,$con) or die("Failed to connect to MySQL: " . mysql_error());
/* No single quotes needed for the table name. */
$query = "SELECT * FROM Treatments";
/* First parameter should be $query not $con */
$result = mysql_query($query, $con);
$options = "";
/* Check if no results exist. */
if ( !$result ) {
die( "NO results found." );
}
while ( $row = mysql_fetch_array($result) ) {
$options .= "<option>$row[treatment]</option>";
}
&GT;
注意: