Я очень новичок в PDO, и я пытаюсь декодировать все строки в моей таблице «test», который содержит специальные объекты, например «(‘L& eacute; on: The Professional ‘) «вместо» Léon: The Professional «.
Итак, вот что я попробовал:
<?php
require_once('connection.php');
$stmt = $conn->prepare("SELECT * from test");
$stmt->execute();
while ($results = $stmt->fetch()){
$b = html_entity_decode($stmt);
echo $b;
}
но у меня нет вывода напечатано ..
Может ли кто-нибудь помочь мне исправить это?
prepare()
возвращает объект выписки ($stmt
в твоем случае)fetch()
возвращает ассоциативный массив, где индекс будет именем столбца$sql = "SELECT column1, column2, column3 from test";
$stmt = $conn->prepare($sql);
$stmt->execute();
$result = array()
while ($row = $stmt->fetch()){
$resutlt[] = array('column1' => html_entity_decode($row['column1']),
'column2' => html_entity_decode($row['column2']),
'column3' => html_entity_decode($row['column3'])
);
}
var_dump($result);
return $result;
РЕДАКТИРОВАТЬ: заменить значения
//prepare select
$sql = "SELECT id, column1, column2, column3 from test";
$stmt = $conn->prepare($sql);
$stmt->execute();
//prepare update
$update_sql = "UPDATE test SET column1=?,column2=?,column3=? WHERE id = ?;";
$update_stmt = $conn->prepare($update_sql);
while ($row = $stmt->fetch()){
//update
$update_stmt->execute(array(html_entity_decode($row['column1']),
html_entity_decode($row['column2']),
html_entity_decode($row['column3']),
$row['id']
);
}
Вы не определили $query
Таким образом, он не имеет execute()
функция. Если вы хотите выполнить подготовленное заявление, вам следует позвонить $stmt->execute()
,