Подключение к базе данных mysql без сохранения деталей в скрипте

117
7

Я пытаюсь создать отдельный файл входа для подключения к базе данных, поскольку я не слишком люблю иметь все данные доступа на каждой странице, требующей доступа к базе данных.

Я создал отдельный файл на моем сервере, который содержит переменные, необходимые для успешного входа в систему, а затем используйте;

include_once('path_to_file/filename.php');

получить переменные, а затем использовать;

$dbconnection = mysqli_connect("$hostname","$username","$password","$database") or die ("Could not connect to the server");

но соединение терпит неудачу каждый раз. Я попытался включить скрипт подключения в файл, который я пытаюсь включить, но затем я получаю это сообщение:

Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2)

Я не совсем уверен, как это исправить, но каждая страница на моем сервере более или менее обращается к базе данных, и я думаю, что это должен быть риск безопасности, при котором данные для входа реплицируются повсюду!

У кого-нибудь есть предложения или альтернативы?

Формат данных базы данных:

<?php
# parameters for connection to MySQL database
$hostname="hostname";
$database="databasename";
$username="username";
$password="password";
?>

PS Я также попробовал и получил тот же результат.

спросил(а) 2014-05-26T13:41:00+04:00 7 лет, 1 месяц назад
1
Решение
64

Кроме того, при использовании нескольких соединений MySQL в PHP вы должны предоставить четвертый аргумент, говорящий PHP, чтобы фактически создавать новые соединения, подобные этому (это очень важно, если вы используете два подключения к одному хосту):

$db1 = mysql_connect($host1, $user1, $passwd1, true);
$db2 = mysql_connect($host2, $user2, $passwd2, true);

Если четвертый аргумент не используется, а параметры одинаковы, тогда PHP вернет ту же ссылку и не будет создано никакого нового соединения.

После этого вы должны использовать "mysql_query" с дополнительным параметром, чем определяет, какое соединение использовать:

$res1 = mysql_query($sql1, $db1) or die(mysql_error($res1));
$res2 = mysql_query($sql2, $db2) or die(mysql_error($res2));

http://www.php.net/manual/en/function.mysql-connect.php

ответил(а) 2014-05-26T13:55:00+04:00 7 лет, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема