2012-07-05 54 views
0

我試圖使用預準備語句將數據插入到數據庫中,從一個函數內。mysqli數據庫連接範圍?

從文件外部調用時下面的偉大作品:

function insert($value1, $value2) 
{ 
$mysqli = new mysqli("localhost", "***", "***", "***"); 
    if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 
    if ($stmt = $mysqli->prepare("INSERT INTO table (col1, col2) values (?, ?)")) { 
    $stmt->bind_param('ss', $value1, $value2); 
    $stmt->execute(); 
} 
} 

不過,我要移動的連接字符串的函數,這會導致問題的範圍之外。我讀過,我需要一個類來做到這一點,任何人都可以解釋一個例子嗎?

感謝

回答

0

最簡單的事情是移動的功能外連接線(到全球範圍),並把函數內以下的開始:

global $mysqli; 

參見:http://php.net/global

你也可以使用一個類,如果你喜歡,並有一個類變量存儲稍微涉及更多的連接。同樣,PHP文檔中的所有內容都清楚地解釋了創建類,方法&變量並使用它的示例。

http://php.net/class

+0

我通過創建體上方的階級和階級的功能,做了這個工作「的回報是$ var;」。謝謝。 – 2012-07-13 10:56:45