Рефакторинг кода и исправление багов. PHP

218
08 сентября 2018, 16:20

Необходимо провести рефакторинг, исправить баги, указать уязвимиости и продокументировать в стиле PHPDoc.

Пока вижу, что подключение к базе идет в цикле (что, понятно, неверно) и закрывается соединение с базой перед ретурном. Мне кажется, надо после (не прав?).

function load_users_data($user_ids) {
    $user_ids = explode(',', $user_ids);
    foreach ($user_ids as $user_id) {
        $db = mysqli_connect("localhost", "root", "123123", "database");
        $sql = mysqli_query($db, "SELECT * FROM users WHERE id=$user_id");
        while($obj = $sql->fetch_object()){
            $data[$user_id] = $obj->name;
        }
        mysqli_close($db);
    }
    return $data;
}
// Как правило, в $_GET['user_ids'] должна приходить строка
// с номерами пользователей через запятую, например: 1,2,17,48
$data = load_users_data($_GET['user_ids']);
foreach ($data as $user_id=>$name) {
    echo "<a href=\"/show_user.php?id=$user_id\">$name</a>";
}
Answer 1

Любой код после return Всегда будет проигнорирован.

По факту, вам нужно перестать использовать mysqli И глянуть в сторону PDO Или других CRUD Систем. Вам надо изучить PSR И начать именновывать что либо в стиле camelCase, также обратите внимание на XSS И CSRF. В остальном, этот код а целом нужно переписать.

READ ALSO
ffmpeg: Ошибка при сохранении или конвертации видео в формат .mp4

ffmpeg: Ошибка при сохранении или конвертации видео в формат .mp4

На моем хостинге - ffmpeg установлен как модуль phpУ меня возникают ошибки при конвертации видео в формат mp4

219
Помогите composer.lock мешает делать update плагина

Помогите composer.lock мешает делать update плагина

Использую Laravel 56 нужно сделать update плагина carbon

245
Отправка формы на почту AJAX + JQuery + PHP

Отправка формы на почту AJAX + JQuery + PHP

Нужно отправлять с лендинга на почту форму обратной связи, но что-то пошло не так и форма не обрабатывается php, в консоли получаю "POST http://localhost:3000/savephp...

233
to_string быстрее snprintf(странность компилятора C++ от Microsoft)

to_string быстрее snprintf(странность компилятора C++ от Microsoft)

Добивая тему про строчки(std::to_string без создания новой строки) внезапно обнаружил, что компилятор C++ от Microsoft(Microsoft (R) C/C++ Optimizing Compiler Version 1914

228