Голос за кадром не читает то, что я печатаю в текстовом поле

Существует три способа извлечения нескольких строк, возвращаемых оператором PDO.

Простейшим является просто выполнить итерацию по самому PDOStatement:

$stmt = $pdo->prepare("SELECT * FROM auction WHERE name LIKE ?")
$stmt->execute(array("%$query%"));
// iterating over a statement
foreach($stmt as $row) {
    echo $row['name'];
}

другой - это выборка строк с использованием метода fetch () внутри знакомого оператора while:

$stmt = $pdo->prepare("SELECT * FROM auction WHERE name LIKE ?")
$stmt->execute(array("%$query%"));
// using while
while($row = $stmt->fetch()) {
    echo $row['name'];
}

, но для современного веб-приложения нам нужно, чтобы наши итерации datbase были отделены от вывода, и поэтому наиболее удобным методом было бы получить все строки сразу с помощью метода fetchAll ():

$stmt = $pdo->prepare("SELECT * FROM auction WHERE name LIKE ?")
$stmt->execute(array("%$query%"));
// fetching rows into array
$data = $stmt->fetchAll();

а затем вывести их в шаблон:

Обратите внимание, что PDO поддерживает множество режимов сложной выборки, позволяя fetchAll () возвращать данные во многих разных форматах .

14
задан Mostafa Norzade 3 June 2018 в 11:54
поделиться