Новее для создания функций 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) ...
В поисках решений я увидел комментарии, которые указывали, что, возможно, у этого пользователя БД нет прав от root, поэтому я поместил его в каталогв public_html, тот же каталог, что и программа, в которой он вызывается.Я все еще получаю ту же ошибку.
Я проверил соединение, не будучи функцией, и это работает.Что не так, и почему это не работает как функция?Я действительно хочу поместить это куда-то еще, чем непосредственно в коде, и сделать его более безопасным.
db_fns.php content
<?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
?>
Есть идеи?Спасибо