我試圖創建一個下拉列表,使用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