簡體   English   中英

PHP函數中的mysql函數

[英]mysql functions in PHP functions

例如:

<? 
function getTitle(){
    $query="SELECT title FROM news WHERE author = 'admin' LIMIT 5";
    $result = mysql_query($query, $mysql_connection);
    $data = mysql_fetch_array($result,MYSQL_ASSOC);
    return $data['title'];
}
?>

而且,每次我要提交MySql查詢時,都必須在函數內部始終包含config.php,否則它將不起作用。 我嘗試在文件的開頭添加內容,但仍然沒有結果。

Config.php文件包括與數據庫的連接和數據庫的選擇。 那里沒有錯誤。

似乎是什么問題?

$mysql_connection在函數范圍內是未知的。

如果您使用的是在你的腳本只有一個連接,你可以在理論上也省略連接符:

$result = mysql_query($query);

這樣,您的mySQL調用無需任何其他步驟即可工作。

如果要保留標識符(如果您有多個連接處於打開狀態,則應該保留),作為快速解決方案,可以使用

function getTitle() 
 {
   global $mysql_connection;
   .....

 }

將連接導入到函數的作用域中。

一種高級的(且更為簡潔)的方法是讓Singleton或包含數據庫連接的靜態對象。 請參見以下問題以獲取良好示例:

那是因為您引用的是$mysql_connection ,它已在config.php中聲明,但現在超出了范圍。 只要只使用一個連接,就可以完全省略該參數。 只需調用mysql_query($query);

將以下內容放入您的函數中。

global $mysql_connection;

發生的是您的$mysql_connection變量不在函數范圍內。

我之前也遇到過同樣的問題。

這是因為$ mysql_connection變量在函數主體中不可見。 采用

全局$ mysql_connection

在功能的開頭

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM