函數popList()
需要兩個參數 - 列的名稱和表的名稱。 基本上popList(
)函數連接到一個mysql
服務器,然後連接到一個數據庫,並根據傳遞給用來填充頁面上的列表框的函數來建立一個sql查詢來檢索數據。函數會填充第一個列表框,但不會從數據庫表中填充第二個列表框
只有一個列表框可以正常工作,但如果頁面上有第二個列表框再次調用該函數時使用了不同的參數(列名和表名),它將顯示爲空,並在源代碼中顯示以下內容的頁面右側下第一填充列表框的源:
警告:mysql_connect()函數[function.mysql-連接]:拒絕用戶 'ODBC' @ '本地主機'(使用密碼訪問 :否)in C:\ xampp \ htdocs \ test on line
未連接:(使用密碼:NO) 訪問被拒絕的用戶「ODBC」 @「localhost」的
我用兩個呼叫這是默認的本地主機,樹根和測試沒有密碼(純粹相同的連接憑據目的)
爲什麼它表現得像這樣?
編輯*(源)*:
<?php
function popList($col, $tbl) {
require_once "credentials.php";
// Opens a connection to a MySQL server
$connection=mysql_connect($host, $username, $password);
if (!$connection) {
die('Not connected : ' . mysql_error());
}
// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}
$sql = "SELECT $field FROM $table";
$query = mysql_query($sql);
while ($row = mysql_fetch_array($query)) {
echo '<option value="' . $row["$field"] . '">' . $row["$field"] . '</option>';
}
mysql_close($connection);
}
?>
SOLUTION:
新:好像用require_once
和include_once
導致該問題,但使用include
或require
實際修復問題。
替換
:require_once "credentials.php"
從
credentials.php
實際的代碼,像這樣
function popList(...) {
require "credentials.php"; // changed to require from require_once. same with include
...
}
我們可能需要看到代碼... – eggyal 2012-04-25 16:06:46
好。添加了源代碼。 – Bob 2012-04-25 16:11:51
它將非常顯得好像'$ username'在函數調用之間被改變;也許搜索其餘的代碼來引用該變量? – eggyal 2012-04-25 16:13:24