pdo — php декодирует специальные объекты в mysql

Я очень новичок в 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;
}

но у меня нет вывода напечатано ..

Может ли кто-нибудь помочь мне исправить это?

-1

Решение

  • 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']
);
}
1

Другие решения

Вы не определили $queryТаким образом, он не имеет execute() функция. Если вы хотите выполнить подготовленное заявление, вам следует позвонить $stmt->execute(),

1

По вопросам рекламы [email protected]