我有mysql表,其中包含'operation.date','operation.name'等等。
在使用$mysqli->fetch_object()
将该表数据作为对象获取后,我得到了这个(print_r of row):
stdClass Object
(
[id] => 2
[operation.date] => 2010-12-15
[operation.name] => some_name
)
如何访问operation.date
和operation.name
以及所有其他奇怪命名的对象属性?
答案 0 :(得分:36)
在SQL查询中指定别名,如SELECT column AS nameWithoutDots ...
或使用$object->{'operation.name'}
访问这些属性
或者将对象强制转换为数组:$obj = (array)$obj; echo $obj['operation.name']
。
答案 1 :(得分:9)
使用点访问属性的正确方法应该是:
echo $object->{"operation.date"}
答案 2 :(得分:3)
要访问这些属性,您需要用大括号包装它们:
echo $object->{"operation.date"} //2010-12-15
如果您以这种方式设置属性,则会删除有问题的符号,从而允许您以echo $object->operationdate //2010-12-15
答案 3 :(得分:2)
使用“as”功能
更改sql以返回有效的属性名称例如。选择operation.date作为日期
答案 4 :(得分:0)
您可以使用$mysqli->fetch_assoc()