我试图创建一个下拉列表,使用PHP填充我的数据库中的所有客户端。这是工作,但问题是我使用的代码需要my_sql_connect和my_sql_select_db登录详细信息来填充列表。PHP包含mysql查询而不使用my_sql_connect
在需要此功能的页面,下面的代码片段设置在每个页面的顶部连接到数据库:
require_once ('includes/dbConfig.php');
正在工作的代码如下(将#的代替我的登录信息):
mysql_connect('localhost', '#', '#');
mysql_select_db('#');
$sql = "SELECT client_organisation_name FROM clients";
$result = mysql_query($sql);
echo "<select name='clients'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['client_organisation_name'] ."'>" . $row['client_organisation_name'] ."</option>";
}
echo "</select>";
什么我有实现的困难是下拉列表中使用已经建立的连接,填充。我用下面的代码,试图替代这个但没有成功:
$conn = mysql_connect('$dbhost', '$dbuser', '$dbpass') or die ('Error connecting to mysql');
mysql_select_db('$dbname');
我已经在网上搜索,但没有找到合适的解决方案。出于显而易见的原因,将数据库登录信息显而易见是一种安全风险和麻烦,因此我希望得到一些帮助,让我的代码片段连接到我的数据库。
* PSA:*'mysql_ *'函数[在PHP 5.5中不推荐](http://php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated)。不建议他们编写新的代码,因为这会阻止您在将来进行升级。相反,请使用[MySQLi](http://php.net/manual/en/book.mysqli.php)或[PDO](http://php.net/manual/en/book.pdo.php)和[是一个更好的PHP开发人员](http://jason.pureconcepts.net/2012/08/better-php-developer/)。 – 2015-02-11 19:31:24
变量在双引号字符串内部展开,它们不在单引号字符串内展开。这是基本的PHP语法,与MySQL无关。 – Barmar 2015-02-11 19:38:04