2013-10-14 3 views
0

Как правильно вывести данные при использовании $stmt->fetch(PDO::FETCH_ASSOC)? Сейчас я получаю отдельные слова, как мой результат при выполнении

"select name, author, title from d_books" 

// Other PDO stuff goes here 
$arr = $stmt->fetch(PDO::FETCH_ASSOC); 
foreach ($arr as $titleData) { 
    echo $titleData['name']; 
} 

ответ

11
$pdo = new PDO(/*Your credentials*/); 
$sql = `select name, author, title from d_books` 
$stmt = $pdo->prepare($sql); 
$stmt->execute(); 

while ($arr = $stmt->fetch(PDO::FETCH_ASSOC)) { 
    echo $arr['name']; 
} 

или

$pdo = new PDO(/*Your credentials*/); 
$sql = `select name, author, title from d_books` 
$stmt = $pdo->prepare($sql); 
$stmt->execute(); 
$arr = $stmt->fetchAll(PDO::FETCH_ASSOC); 
foreach ($arr as $titleData) { 
    echo $titleData['name']; 
} 

Вы всегда можете использовать pdo->query() метод при выполнении запроса без каких-либо параметров, что быстрее, но Я не считаю, что это происходит очень часто (выполнение запросов без каких-либо параметров).

+0

Ваши ответы работают. Я использовал 'fetch' вместо' fetchAll'. Возможно, поэтому я продолжал получать отдельные буквы в качестве вывода. – jmenezes

+0

Вы должны отметить это как правильный ответ, тогда сэр :) –

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