У меня есть следующий, относительно простой скрипт подключения к базе данных:
Приведенный ниже скрипт просто создает общий интерфейс:
<?php
//Filename: IConnectInfo.php
interface IConnectInfo
{
const HOST ="localhost";
const UNAME ="root";
const PW ="";
const DBNAME = "login";
public static function doConnect();
}
?>
Сценарий ниже, который использует вышеупомянутый интерфейс:
<?php
//FILENAME :: UniversalConnect.php
ini_set("display_errors","1");
ERROR_REPORTING( E_ALL | E_STRICT );
include_once('IConnectInfo.php');
class UniversalConnect implements IConnectInfo
{
private static $server=IConnectInfo::HOST;
private static $currentDB= IConnectInfo::DBNAME;
private static $user= IConnectInfo::UNAME;
private static $pass= IConnectInfo::PW;
private static $hookup;public static function doConnect()
{
self::$hookup=mysqli_connect(self::$server, self::$user, self::$pass, self::$currentDB);
if(self::$hookup)
{
echo "Successful connection to MySQL:<br/>";
}
elseif (mysqli_connect_error(self::$hookup))
{
echo('Here is why it failed: ' . mysqli_connect_error());
}
return self::$hookup;
}
}
?>
Теперь до здесь все аккуратно и чисто и отлично работает
Я проверил вышеупомянутые два файла, работающие, добавив следующие 2 строки в конце вышеупомянутого файла.
$instance = new UniversalConnect();
$instance::doConnect();
Я получаю сообщение «Успешное подключение к MySQL:», отлично !!!
теперь идет 3-й файл: (я закомментировал часть кода, чтобы упростить задачу):
<?php
//FILENAME DataEntry.php
require_once('tablework/UniversalConnect.php');
class DataEntry
{
//Variable for MySql connection
private $hookup;
private $sql;
private $tableMaster;
//Field Variables
private $name;
private $email;
private $lang;
public function __construct()
{
//Get table name and make connection
$this->tableMaster="basics";if($this->hookup=UniversalConnect::doConnect()){
echo "<b>connected</b>";
}else{
echo "<b>Not connected</b>";
}}}
$instance = new DataEntry();?>
Теперь, когда я запускаю вышеуказанный файл, соединение с базой данных как-то не получается! хотя в UniversalConnect.php
соединение успешно!
Я получаю ошибку
Вот почему это не удалось: php_network_getaddresses: getaddrinfo не удалось:
Такой хост не известен. Нет соединения.
Я действительно не понимаю, почему, когда соединение установлено в UniversalConnect.php
и то же соединение возвращается dataEntry.php
, связь не работает! ,
РЕДАКТИРОВАТЬ :: Список ошибок:
Предупреждение: mysqli_connect (): php_network_getaddresses: getaddrinfo
Ошибка: такой хост не известен. в
C: \ xampp \ htdocs \ Login2.0 \ tablework \ UniversalConnect.php в строке 19Предупреждение: mysqli_connect (): (HY000 / 2002): php_network_getaddresses:
Ошибка getaddrinfo: такой хост не известен. в
C: \ xampp \ htdocs \ Login2.0 \ tablework \ UniversalConnect.php в строке 19
Вот почему это не удалось: php_network_getaddresses: getaddrinfo не удалось:
Такой хост не известен. Предупреждение: mysqli_connect ():
php_network_getaddresses: getaddrinfo не удалось: такой хост не известен.
в C: \ xampp \ htdocs \ Login2.0 \ tablework \ UniversalConnect.php в строке 19Предупреждение: mysqli_connect (): (HY000 / 2002): php_network_getaddresses:
Ошибка getaddrinfo: такой хост не известен. в
C: \ xampp \ htdocs \ Login2.0 \ tablework \ UniversalConnect.php в строке 19
Вот почему это не удалось: php_network_getaddresses: getaddrinfo не удалось:
Такой хост не известен. Нет соединения.
Буду признателен за любую помощь .
Спасибо .
Тенали.
Задача ещё не решена.
Других решений пока нет …