[英]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.