新建PHP函數和mysql。我有函數連接到數據庫db_conect_nm()。這在文件db_fns.php中,並且包含連接到我的數據庫的用戶和密碼。我創建了這個有更安全的數據庫連接。我把它放在public_html之外的一個目錄中,並且出現了錯誤PHP Warning: mysqli::mysqli() [<a href='mysqli.mysqli'>mysqli.mysqli</a>]: (28000/1045): Access denied for user 'negoti7'@'localhost' (using password: NO) ...
用於mysqli連接的PHP函數給出錯誤
尋找解決方案,我看到了一些註釋,說明這個db用戶可能沒有root權限,所以我把它放在public_html中的一個目錄中,目錄作爲被調用的程序。我仍然得到同樣的錯誤。
我已經測試了連接而不是一個函數,它的工作原理。什麼是錯的,爲什麼這不起作用?我真的想把它放在代碼之外的地方,並使它更安全。
db_fns.php內容
<?php
//Database server
$host= 'localhost';
$nm_name= 'myname_databasename'; //sanitized data
$nm_user= 'myname_dbusername';
$nm_pword= 'password';
// db connect to nm database
function db_connect_nm()
{
$nm_connect = new mysqli($host, $nm_user, $nm_pword, $nm_name);
if (!$nm_connect)
throw new Exception('Could not connect to NM database currently');
else
return $nm_connect;
}
?>
我把它從nm_functions.php,db_fns.php包括那裏。
nm_functions.php
<?php require_once('sanitizedpathto/db_fns.php');
......some code
$conn_nm = db_connect_nm();
$result_sub = $conn_nm->query("select * from subscribers where uname='$username'");
.... more code
?>
任何想法? 謝謝
是,非常感謝。我現在意識到了錯誤。我認爲'定義'方法是最好的。 – KSB 2011-04-24 18:19:54
很高興我能幫忙:-) – 2011-04-24 18:20:42