2014-12-12 2 views
2

У меня есть надуманные столбцы, используя следующий оператор SQL (я использую PDO):магазин результат столбца в переменной

$query = 'SELECT people.firstname,people.lastname,makes.make,cars.price 
      FROM MyCars cars 
      JOIN AllUsers people ON user.id = cars.userID 
      JOIN AllMakes makes ON make.id = cars.makeID 
      ORDER BY cars.price ASC LIMIT 0,1'; 

$statement = $this->_dbHandle->prepare($query); 
$statement->execute(); 
return $statement->fetch(PDO::FETCH_ASSOC); 

Я стараюсь сохранять определенные столбцы, которые были извлечены в переменный, например, хранящем столбец «firstname» из таблицы AllUsers в переменную «$ firstname» это возможно?

ответ

1

Ваша функция возвращает ассоциативный массив, где каждый столбец находится в элементе, ключ которого является именем столбца. Так что если вы делаете:

$row = yourfunc(); 

, то вы можете сделать:

$firstname = $row['firstname']; 
+0

Спасибо чувак :) Если бы я должен был изменить оператор SQL для получения 3 строки так, изменяя «LIMIT 1» до «LIMIT 3» как я могу хранить определенные строки, например, первую строку исполнения, а затем вторую строку. Как мне это сделать? –

+1

Вы только извлекаете одну строку в функции. Вы можете использовать 'fetchAll()' для получения всех строк, тогда вы получите двумерный массив, и вы можете написать цикл, который получает столбец 'firstname' из каждой строки. – Barmar

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