2011-04-22 58 views
1

我有一個函數「調用一個成員函數的mysql_query()一個非對象」的功能

<?php 
function drop() { 
    $query = "SELECT revenueCodeID, code FROM revenuecodetable"; 
    $result = $dbx->mysql_query($query); 
    echo '<select>'; 
    echo '<option value="">Revenue Code</option>'; 
    while ($row = mysql_fetch_array($result)) { 
     echo '<option value="'.$row['revenueCodeID'].'">'.$row['code'].'</option>'; 
    } 
    echo '</select>'; 
} 
?> 

內執行查詢時,我有一個調用的函數

<!DOCTYPE html> 
<?php 
    require 'headerInfo.php'; 
    require 'revenueCodeDropdown.php'; 
?> 
<html> 
    <body> 
     <?php drop(); ?> 
    </body> 
</html> 
頁面

headerInfo.php允許使用$ dbx調用數據庫。

當我嘗試並調用該函數,我得到

Fatal error: Call to a member function mysql_query() on a non-object in /var/www/legacy_nas/nas/revenueCodeDropdown.php on line 4 

如果我參加了函數的語法出它工作正常。任何想法來幫助解決這個問題?

回答

2

聲明$dbx全球

function drop() { 
    global $dbx; 
    .....//rest of stuff 
    } 

OR

通行證對象作爲函數參數

function drop($dbx) { 

,並調用語句

<?php drop($dbx); ?> 

你應該理解過程rstand變量作用域。外部變量在默認情況下不可用。它們可以被聲明爲全局的或可以作爲參數傳遞。

+0

這是做到了。謝謝。 – bmbaeb 2011-04-22 15:49:19

+0

@bmb:您的歡迎 – 2011-04-22 15:50:22

0

您是否實例化了$dbx對象?

相關問題