我创建了一个数字为22的表作为列名.如何访问此列?
内容:
我试过了
$obj = Tablename::find(1)->first();
$obj->22;
$obj->'22'; //'syntax error, unexpected ''22''
$obj->"22";
$obj->`22`;
$obj[22];
$arr = $obj->toArray();
var_dump($arr); // array(15) { ["id"]=> string(2) "25" ["out_trade_no"]=> string(14) "14847080930025" ["22"]=> string(0) "2"
$arr[22]; // 'ErrorException' with message 'Undefined offset: 22'
$arr['22']; // 'ErrorException' with message 'Undefined offset: 22'
$arr["22"]; // 'ErrorException' with message 'Undefined offset: 22'
$arr[`22`]; // 'ErrorException' with message 'Undefined index: ' in
$arr[{'22'}]; // 'syntax error, unexpected '{', expecting ']'' in
Run Code Online (Sandbox Code Playgroud)
没有用.
编辑为实现的答案:也得到null.
var_dump($orders[0]);
var_dump($orders[0]->id);
var_dump($orders[0]->{'22'});
$col = …Run Code Online (Sandbox Code Playgroud) 我有以下mysql语句:
INSERT INTO rates_try (`Weight`, `length`, `height`, `Min`, `100`, `200`, `300`) VALUES (1000,0.1,2.3,1,2,3,4);
Run Code Online (Sandbox Code Playgroud)
这给出了错误:
No Row已创建.检查SQL语法中有错误; 检查对应于你的MySQL服务器版本的行1插入到附近使用"insertquery" INTO rates_try正确的语法手册(
Weight,length,height,Min,100,200,300)VALUES(1500,2.31,3.5,1,0,0,0);
表结构是:
rates_try ( `Weight` int(11),
`length` double,
`height` double,
`Min` double,
`100` double,
`200` double,
`300` double )
Run Code Online (Sandbox Code Playgroud)
我不确定语法有什么问题,我知道它很可能与作为数字的列有关,如果这是导致它的问题我将不得不在名称中添加一些东西,所以它们不仅仅是数字,而是我想先检查一下情况并非如此.
这个PHP代码创建了语句
$insertquery = "INSERT INTO rates_{$tablename} (`Weight`, `length`, `height`, `Min`";
foreach ($titles as $title){
if (empty($title) ){
}else{
$insertquery .= ", `" . $title . "`";
$counter++;
} …Run Code Online (Sandbox Code Playgroud)