2014-12-11 116 views
1

我使用mysqli連接進行編程(我將爲此學習OOP,但現在我需要以程序化的方式瞭解它),並且我必須使用mysqli_real_escape_string TONS次來保護每個查詢。可以像這樣縮短mysqli真正的轉義字符串函數嗎? PHP

我剛纔提出這個功能的連接,以便採取更少的空間(更多組織)和時間來寫每發生之後:

$con = @mysqli_connect($mysql_server, $mysql_user, $mysql_password, $mysql_database); 

function sql_escape($string) { 
    global $con; 
    return mysqli_real_escape_string($con, $string);  
} 

這樣行嗎?我讀過全球化變量不好,我不明白爲什麼我不能這樣做。

在此先感謝!

+0

在你的函數中傳遞連接變量,而不是把它作爲一個全局變量。 – 2014-12-11 05:16:46

+0

或者如果你使用> = 5.6,你可以使用函數別名函數mysqli_real_escape_string as sql_escape;' – tigrang 2014-12-11 05:19:02

+0

我可以將它作爲一個參數傳遞,但是這個代碼佔用更少的空間,如果我使用這個? – Agusfn 2014-12-11 17:52:15

回答

0

只要您只在腳本中使用一個數據庫連接,看起來沒問題。

全局變量是不好的風格?那麼,它的php代碼是一個自動否定的5分 開始:)

+0

我只使用1個數據庫連接。我不傾向於使用全局,事實上,我看到我需要使用它的唯一情況是與數據庫連接。如果我只在這個特定的情況下做什麼會出問題? – Agusfn 2014-12-11 17:50:48