Я хочу исключить формат представления JSON и вернуть данные, например, строку с комой.
Когда я использую json_decode($row['test_row'])
он возвращает меня
Допустимая фатальная ошибка: объект класса stdClass не может быть преобразован в строку в C
<?php
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password );
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'SELECT * FROM database.test;' ;
$get_all_data = $conn->prepare($sql);
$get_all_data -> execute(array($sql));
$all_row = $get_all_data->fetch(PDO::FETCH_ASSOC);
$all = $all_row;
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
вот стол, стол:
echo "<tbody>";
echo "<table>";
$conn = null;
while($row = $get_all_data->fetch(PDO::FETCH_ASSOC))
{
echo "<tr>
<td>" . json_decode($row['my_data']) . "</td>
</tr>";
}
echo "</tbody>";
echo "</table>"; ?>
Если я дам $row['my_data']
, он вернет мне данные из базы данных в формате JSON
json_decode
возвращает объект PHP, который затем вы пытаетесь напечатать в виде строки, используя echo
. Это вызывает эту ошибку.
Вы должны будете сделать его разделенной запятой строкой, используя implode
или такую функцию. Тогда это определенно сработает.
Поскольку я не знаю значения $row['my_data']
, вы можете предложить вам точную часть кода.
$row['my_data']
? Спасибо.json string
вobject
но вам скорее нужна строка, лучше преобразовать ее в массив, а затем использоватьimplode
для объединения или некоторых циклов, в зависимости от$row['my_data']