Intereting Posts
Как избежать дублирования содержимого, хранящегося в базе данных MySQL, предоставленной пользователем Плохой запрос. Подключение к сайтам через завиток на хосте и системе Добавить стиль для эха как отправить push-уведомление с помощью phonegap и parse Вставить значение автоматически в базу данных Попытка загрузить видеофайл в php, но он слишком большой Может ли Curl читать только первые 2000 байт? Почему второй аргумент цикла не может быть равен числу? PHP Sanitize Data изменить адрес электронной почты отправителя в php-форму получателю Как игнорировать дублирующее имя и делать первую букву должны быть кепки с помощью вложенного массива? Не удалось вызвать dwebp в PHP parse csv (данные заключены в кавычки), используя fgetcsv () не работает должным образом удалить последний символ после конкатенации строки вывода для цикла? Отображение значения из базы данных в динамически созданное текстовое поле в таблице с помощью jQuery

Получение результатов заявления

Я сделал этот пример кода:

$db = new mysqli("localhost","root","password","xxx"); $statement = $db->prepare("SELECT name, password FROM persons WHERE name=? LIMIT 1"); $statement->bind_param('s', "kevin"); $statement->execute(); if($statement->num_rows){ $statement->bind_result($dbname, $dbpassword); $statement->free_result(); }; echo $dbname; echo $dbpass; 

Как использовать / получить $ dbname и $ dbpassword напрямую, не используя что-то вроде:

 while($statement->fetch()){ echo $dbname; } в while($statement->fetch()){ echo $dbname; } 

Я хочу использовать $ dbname и dbpassword напрямую. Каков наилучший подход? Что я делаю не так.

Я нашел ответ:

Мне нужно было сохранить результат (сохранить результат (получить свойства))

Мне нужно было получить результат (получить результаты из подготовленного оператора в связанные переменные). Удовлетворительно без цикла while.

 $db = new mysqli("localhost","root","password","xxx"); $statement = $db->prepare("SELECT name, password FROM persons WHERE name=? LIMIT 1"); $statement->bind_param('s', "kevin"); $statement->execute(); $statement->store_result(); // this is what I was missing if($statement->num_rows){ $statement->bind_result($dbname, $dbpassword); $statement->fetch(); // this is what I was missing $statement->free_result(); echo $dbname; echo $dbpass; };