У меня есть таблица mysql с такими столбцами, как «operation.date», «operation.name» и т. Д. После получения этих данных таблицы как объекта с помощью $mysqli->fetch_object()
я получаю это (print_r строки):
stdClass Object ( [id] => 2 [operation.date] => 2010-12-15 [operation.name] => some_name )
как мне получить доступ к параметрам operation.date
и operation.name
и всем другим свойствам, названным именем?
Укажите псевдонимы в вашем SQL-запросе, такие как SELECT column AS nameWithoutDots ...
или получить доступ к этим свойствам с помощью $object->{'operation.name'}
или приведение объекта в массив следующим образом: $obj = (array)$obj; echo $obj['operation.name']
$obj = (array)$obj; echo $obj['operation.name']
.
Правильный способ доступа к свойствам с точкой должен быть:
echo $object->{"operation.date"}
Чтобы получить доступ к этим атрибутам, вам необходимо обернуть их фигурными скобками:
echo $object->{"operation.date"} //2010-12-15
Если вы установите атрибут таким образом, удаляющий символ будет удален, что позволит вам получить доступ к атрибуту как echo $object->operationdate //2010-12-15
Измените sql, чтобы вернуть допустимые имена свойств, используя функцию «как»
например. выберите operation.date в качестве даты
Вы можете получить ассоциированный массив вместо объекта, используя $mysqli->fetch_assoc()