@xxvxx
....

Почему при полном пути выскакивает ошибка, а при относительном все работает?

<?php
    include ('bd/bd.php'); 
 // подключаем скрипт
 
// подключаемся к серверу
$link = mysqli_connect($host, $user, $pwsd, $db) 
    or die("Ошибка " . mysqli_error($link));
// выполняем операции с базой данных
$query ="SELECT `opisanie` FROM kozerog where `data` = CURDATE() ";
$result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link)); 
while($row = mysqli_fetch_array($result))
{
    echo $row['opisanie']."<br>";
}
?>


сам bd.php
<?php

$host = 'тут ip не локальный';
$user = 'xxx';
$pwsd = 'xxx';
$db = 'xxx'; 
$connection = mysql_connect($host, $user, $pwsd);
 
mysql_query("SET NAMES utf-8"); 
 
mysql_select_db($db, $connection); 
if (!$connection || !mysql_select_db($db, $connection))
{
    exit(mysql_error());
} 
?>


при
include ('bd/bd.php');
все работает нормально, а при
include ('http : // syte.com/bd/bd.php'); (тут я специально пробелы поставил)

выдает ошибки
Warning: mysqli_connect(): (28000/1045): Access denied for user 'root'@'localhost' (using password: NO) in /home/domains/public_html/test.php on line 135

Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in /home/domains/public_html/test.php on line 136

почему так?
и как это можно поправить?
  • Вопрос задан
  • 228 просмотров
Решения вопроса 1
empr
@empr
Необходимо использовать include в сочетании с локальной файловой системой и запрашивать файл bd.php, а не результат работы скрипта, располагающегося по адресу http://.../bd.php.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@BorisKorobkov Куратор тега PHP
Web developer
Ответ написан
Комментировать
Потому что bd.php находится в папке, недоступной по http. В первом случае указан путь для доступа через файловую систему. В этом случае у сервера есть доступ к файлу. Во втором случае доступ осуществляется по http и доступ отсутствует
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы