2016-12-14 3 views
0

Я сделал этот пример кода:Получение результатов постановки

$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; 

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

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

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

+2

Изменить '$ num_rows' на' num_rows' – SuperDJ

+0

@SuperDJ Действительно, это ошибка. – Nomistake

+0

Но как получить и использовать одну строку результатов. может быть, fetch_row или что-то в этом роде? – Nomistake

ответ

1

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

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

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

$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; 

}; 
Смежные вопросы