2014-02-18 2 views
0
$stmt = $db->prepare("SELECT * FROM user WHERE name=?"); 

$stmt->bind_param('s', $username); 
$stmt->execute(); 
$stmt->store_result(); 

if($stmt->num_rows > 0){ 

    //retrieve user's id 
} 

Я хочу проверить, существует ли пользователь и выбрать его идентификатор. Я сделал первый, можно ли получить его ID? цикл через результат строки? или мне нужно написать еще один SQL? Я путаюсь с store_result() и get_result() тоже.получить результат строки, используя инструкцию prepare в mysqli

+0

«Я запутался с store_result() и get_result() тоже» --- то, что если вы читаете документацию тогда? – zerkms

+0

@zerkms Я до сих пор не понял этого после того, как прочитал. – user3318525

+0

, так что вы использовали функции, которые вы не понимаете? Почему вы использовали их тогда? Попытка случайных вещей никогда не приводит к успеху в программировании. – zerkms

ответ

1

Я думаю, вы должны принести свой результат после выполнения запроса для получения всех записей, как следовать

$stmt = $db->prepare("SELECT * FROM user WHERE name=?"); 

$stmt->bind_param('s', $username); 
$stmt->execute(); 

if($stmt->num_rows > 0) 
{ 
    $row = $stmt->fetch_array() 
    print_r($row); 
} 
+0

Я уверен, что есть один пользователь с заданным именем PS: но если их несколько - вам не нужно это 'if' – zerkms

+0

Да, но пользователь может не существовать – Fabio

+0

, если их несколько, и у вас есть' while' - это не имеет значения - тело цикла просто не запустится. Поэтому вам нужно удалить либо 'if', либо' while' - вместе они являются избыточными – zerkms

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