Intereting Posts
Есть ли возможность использовать услугу Audio chat из Google в мой веб-приложение? Memcached против APC, который я должен выбрать? mysqli_query – возвращаемые значения как ping ip-адреса в php и давать результаты PHPExcel: загрузить файл Excel на стороне клиента Компиляция расширения PHP как не потокобезопасное MySQL UTF8 для Chrome, UTF8 для IE, но HEADER UTF8 для Chrome и UTF-8 для IE? проверить, зарегистрирован ли пользователь mkdir (): разрешение отклонено php xpath с текстом () и SimpleXMLElement-> xpath не соответствует ожидаемым результатам xpath Флэш-шифрование Расшифровка PHP Базовая библиотека проверки подлинности и управления сессиями для PHP? как перечислить переменную массива, созданную с помощью рекурсивной функции в Smarty Преобразовать sha1 в bcrypt? Я хочу, чтобы мои пользователи имели доступ только к моим php-файлам, если они пытаются получить доступ к папкам, которые я хочу включить в свой файл 404

Ошибка с пользовательской функцией PHP: никакая переменная не возвращается

Хорошо, так вот посмотрите на мою PHP-функцию. Я могу подтвердить, что я подключен к базе данных, так как я могу обновлять его с помощью функций mysqli_query непосредственно в файле.

<?php function username_from_id($id) { $id = mysqli_real_escape_string($id); $query = mysqli_query($d,"SELECT `username` FROM `users` WHERE `id` = '$id'"); $result = mysqli_fetch_array($query); $res = $result['username']; return $res; } ?> 

Цель этой функции – выбрать имя пользователя, если их идентификатор равен тому, что помещается в запрос, а затем вернуть его. В файле это выглядит так:

 <?php include 'file_where_function_is.php'; $id = '1'; echo username_from_id($id); ?> 

Ничего не видно. Есть идеи?

Как отмечалось в комментариях, это вопрос, охватывающий вопросы. Ваша переменная $d (экземпляр mysqli ) не находится в пределах области username_from_id . Вот как это исправить …

 function username_from_id(mysqli $d, $id) { if (!$stmt = $d->prepare('SELECT username FROM users WHERE id = ? LIMIT 1')) { throw new Exception($d->error, $d->errno); } $stmt->bind_param('i', $id); if (!$stmt->execute()) { throw new Exception($stmt->error, $stmt->errno); } $stmt->bind_result($username); if ($stmt->fetch()) { return $username; } return null; } 

и назовите его так

 include 'file_where_function_is.php'; $id = 1; echo username_from_id($d, $id); // assuming $d exists in this scope