Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Require_once
Новая тема
Ответить
цитата
13/08/20 в 19:45
Парфюмер
Цитата:
Parse error: syntax error, unexpected ':', expecting ',' or ')' in C:\OSPanel\domains\crud\index.php on line 13
Код:
<?php
$connect = mysqli_connect(host:'localhost', user:'root', password:'', database:'crud');
?>
Update: Странно. В видео предлагается в таком формате host:'localhost', а в документации просто 'localhost' без слова host. Убрал и заработало.
цитата
14/08/20 в 18:41
Парфюмер
Теперь кароче вот это дает ошибку
Код:
require_once 'connect.php';
index.php and connect.php лежат в одной папке
Цитата:
Warning: require_once(connect.php): failed to open stream: No such file or directory
Блин, да что ему надо то? Почему пхп такой тупой?
цитата
14/08/20 в 21:53
Парфюмер
Вместо того, чтобы помочь начинающему программисту, кто-то минус поставил. Вот такой у нас народ. А потом у них Лукашенко во всем виноват.
цитата
15/08/20 в 09:42
fil
Канонично, вроде, так:
require_once('connect.php');
Мне кажется, не хватает в твоём вопросе какой-то информации
Оффтопик:
Поставил тебе пару плюсиков, молодец, изучай PHP
цитата
15/08/20 в 15:44
Парфюмер
fil писал:
Канонично, вроде, так:
require_once('connect.php');
Мне кажется, не хватает в твоём вопросе какой-то информации
Оффтопик:
Поставил тебе пару плюсиков, молодец, изучай PHP
Да че мне чуть больше $age > 50. К 60 то точно буду асом. А какой инфы не хватает? Вот два файла лежат на одном уровне. index.php and connect.php.
В индексе пишу require, надо загрузить connect.php. Какая адресация должна быть? Вроде же на одном уровне. Или танец со слешами там ../connect.php. Так разные варианты пробовал - ниче не работает. Делаю в Опен сервере. Папка crud. В документации вроде ничего нет. Я все равно докопаюсь. Просто елки палки, на ровном месте буксуешь. Уже читал и понятны всякие сложные темы, там объекты, массивы, гет пост, замыкания там, mvs rooting то сё. А тут на ровном месте засада!
Канонично тоже писал со скобками, потом убрал увидев примеры в документации
цитата
15/08/20 в 21:28
Парфюмер
Так разбираемся..
PHP ищет подключаемые файлы в директориях прописанных в директиве include_path.
А в ошибке он пишет, что
include_path='.;c:/ospanel/modules/php/PHP-7.0-x64;
Ну и зачем он его там ищет, если у меня файлы в папке domains? Исправлять директорию что-ли? А там все-равно написано, что файл php.ini временный на опенсервере.
цитата
16/08/20 в 07:44
fil
Мне потому кажется, что информации не хватает, что та строка, которую ты указал источником ошибки ( require_once 'connect.php'; ) должна работать, если оба файла лежат в одной директории.
В include_path у тебя '.' - это и есть текущая дир., тут всё норм.
цитата
16/08/20 в 10:36
Парфюмер
Ну два файла же лежат в одной папке, я назвал её crud. Там я читал есть еще такие варианты типа
Код:
require_once( $_SERVER['DOCUMENT_ROOT'] . '/connect.php');
Пока тоже не сработало. Копаем дальше. Одно не пойму, вижу на форумах многие с этой проблемой сталкиваются. Почему разработчикам ПХП не пойти на встречу программистам и сделать что-то, что не вызывало бы ошибок, продумать однозначный подход. По такому пути пошел Эван Вью и сделал vue.js. Очень понятный фреймворк для людей.
цитата
16/08/20 в 11:00
fil
А попробуй
Код:
require_once(__DIR__.'/connect.php');
(Если версия твоего PHP старше 5.3)
цитата
16/08/20 в 11:05
Парфюмер
Да вроде пробовал. Ок спасибо, еще раз попробую. Да ПХП 7
цитата
16/08/20 в 11:16
TrueDevs
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'connect.php');
У тебя же вында, насколько я помню там в путях слеши другие.
цитата
16/08/20 в 12:48
fil
TrueDevs писал:
У тебя же вында
Вероятно вот она, недостающая инфа
цитата
16/08/20 в 19:47
Парфюмер
TrueDevs писал:
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'connect.php');
У тебя же вында, насколько я помню там в путях слеши другие.
Попробовал, не получилось
Цитата:
C:/OSPanel/domains/crud
Warning: require_once(C:\OSPanel\domains\crud\connect.php): failed to open stream: No such file or directory in C:\OSPanel\domains\crud\index.php on line 29
Fatal error: require_once(): Failed opening required 'C:\OSPanel\domains\crud\connect.php' (include_path='.;c:/ospanel/modules/php/PHP-7.0-x64;c:/ospanel/modules/php/PHP-7.0-x64/PEAR/pear') in C:\OSPanel\domains\crud\index.php on line 29
цитата
16/08/20 в 20:19
TrueDevs
Парфюмер:
Значит там нет этого файла!
цитата
24/08/20 в 20:02
Парфюмер
TrueDevs писал:
Парфюмер:
Значит там нет этого файла!
Кароче чё! Сейчас подключаемый файл переименовал - Файл подключается. Потом опять переименовал в connect.php и тоже работает. Блин а ведь все глаза сломал, файл написал вроде правильно. Да точно правильно.
А сколько времени потерял на ерунду!
Чую скоро буду программистом!!!
Ребята, Ларавель стоит учить или свой фреймворк делать?
О опять минусовщики пришли..
цитата
25/08/20 в 15:08
freeek
Для начала выучи сам язык, его управляющие конструкции, типы и с пару дюжин часто используемых встроенных функций и т.д.
И не мешало бы в принципе понять как работает язык, его жизненный цикл при запросе и т.д.
цитата
25/08/20 в 20:53
Парфюмер
Спасибо за советы. Я не совсем с нуля начинаю. На джава скрипте и вью джи эсе кое что скромненькое делал. Интересно, что такое жизненный цикл при запросе? Ладно посмотрим.
цитата
01/09/20 в 22:06
Парфюмер
Всё. Урок по созданию CRUD системы выполнил. Всё понятно.
цитата
20/10/20 в 16:56
Парфюмер
ну смотрите, документация по ПХП это что-то. Нихера ведь не понятно! Разве нельзя было по русски написать?
Цитата:
(PHP 5, PHP 7)
mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Извлекает результирующий ряд в виде ассоциативного массива
Процедурный стиль
mysqli_fetch_assoc ( mysqli_result $result ) : array
Возвращает ассоциативный массив, соответствующий результирующей выборке или NULL, если других рядов не существует.
Я конечно примерно понял для чего он нужен, смотря пример на ютубе. Но ведь в документации ничего не понятно! Я огорчен.
Я думаю главное препятствие почему люди не могут выучить программирование - это документация.
цитата
10/11/20 в 11:12
Парфюмер
Кто мне объяснит, зачем делать свойства приватными, а потом их можно раскупорить и достать волшебным методом __get ?
Код:
<?php
class Test
{
private $prop1 = 1;
private $prop2 = 2;
public function __get($property)
{
return $this->$property;
}
}
?>
цитата
10/11/20 в 16:47
freeek
Код:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
class A {
private $foo = 1;
public function getFoo() {
return $this->foo;
}
}
class B extends A {
public function getBar() {
return 'Bar foo(' . parent::getFoo() . ')';
}
public function getFoo() {
return 'B foo';
}
}
class C extends A {
public function getBar() {
return $this->foo;
}
public function __get($name) {
return $this->{$name};
}
}
$A = new A();
$B = new B();
$C = new C();
echo
'<pre>$A->getFoo() -> ', $A->getFoo(),
'<br>$B->getFoo() -> ', $B->getFoo(),
'<br>$B->getBar() -> ', $B->getBar(),
'<br>$C->getFoo() -> ', $C->getFoo(),
'<br>$C->getBar() -> ', $C->getBar(),
'<br>$C->foo -> ', $C->foo;
/*
print_r($A->getFoo());
print_r($B->getFoo());
print_r($B->getBar());
print_r($C->getFoo());
print_r($C->getBar());
print_r($C->foo);
*/
Result:
Код:
$A->getFoo() -> 1
$B->getFoo() -> B foo
$B->getBar() -> Bar foo(1)
$C->getFoo() -> 1
$C->getBar() -> Notice: Undefined property: C::$foo
$C->foo -> Notice: Undefined property: C::$foo
При желании можно раскупорить всё. Но по правилам хорошего тона, делать этого не надо.
Новая тема
Ответить
Эта страница в полной версии