Не работает подключение mysqli_connect()

122
09 октября 2019, 11:00
    function cf(){
    $connect=mysqli_connect("localhost","ARTEM","la03rip","futt");
    return $connect;
}
    if($connect==true){
        echo 'работает';
    }
Answer 1

Помимо банальной опечатки с вызовом функции, в этом коде действительно не хватает важного пункта - настройки mysqli таким образом, чтобы она сама сообщала о своих проблемах. И также необходимо устанавливать кодировку соединения. Для UTF-8 это будет utf8mb4. Правильно будет соединяться, как написано здесь:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost","ARTEM","la03rip","futt");
mysqli_set_charset($mysqli, "utf8mb4");

Кроме того, писать код соединения в такую функцию в принципе неправильно. Функции предназначены для повторного использования. А если эту функцию вызывать несколько раз, то она создаст несколько одновременных содинений с БД, и просто убьет сервер.

Надо хотя бы использовать статическую переменную:

function cf(){
    static $connect;
    if (!$connect) {
        mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
        $connect= mysqli_connect("localhost","ARTEM","la03rip","futt");
        mysqli_set_charset($connect, "utf8mb4");
    }
    return $connect;
}

теперь эту функцию можно вызывать сколько угодно раз. и она будет возвращать одно, единожды установленное соединение

$connect = cf();
if($connect){
    echo 'работает';
}
Answer 2

Видимо вы пока в самом начале изучения PHP (и вероятно программирования вообще). Не спешите запускать всё подряд, что найдёте в интернете. Разбирайте примеры очень внимательно и добивайтесь полного понимания того, что делает каждая строчка.

В вашем примере вы определили функцию. Но не вызвали её. Так же вы не поняли идеи области видимости переменной. Чтобы разобраться с этим, начните изучение PHP с чтения справочника официальной документации. Читая, пробуйте реализовать примеры. Не перескакивайте сразу на сложные темы, понимание основ очень важно.

READ ALSO
Laravel Сохранение файла из формы

Laravel Сохранение файла из формы

Сохраняю форму в бд автоматическим методом, как в уроке laracasts:

113
Как прекратить выполнение задачи? Job queue

Как прекратить выполнение задачи? Job queue

Мне нужно чтобы задача в очереди зависимости от Exception могла либо выполнятся далее, либо прерываться, и помещаться в таблицу failed_jobsСейчас пытаюсь...

122
метод шифрования php

метод шифрования php

нужно организовать обмен файлами между серверами, сохранение целостности файлов очень важно, тк

104
Откуда шлют запрос из file_get_contents[PHP]

Откуда шлют запрос из file_get_contents[PHP]

Вообщем, сайт exampleru шлёт запрос на мой сайт site

134