Php MySQL表列名以数字开头在选择查询时产生错误
这是我的桌子结构Php MySQL表列名以数字开头在选择查询时产生错误,php,mysql,wordpress,Php,Mysql,Wordpress,这是我的桌子结构 CREATE TABLE `wp_business` ( `id` int(11) NOT NULL, `8a` varchar(100) NOT NULL, `address_1` varchar(1000) NOT NULL, `city` varchar(250) NOT NULL, `state` varchar(250) NOT NULL, `zip_code` int(11) NOT NULL, `tel` varchar(100) NO
CREATE TABLE `wp_business` (
`id` int(11) NOT NULL,
`8a` varchar(100) NOT NULL,
`address_1` varchar(1000) NOT NULL,
`city` varchar(250) NOT NULL,
`state` varchar(250) NOT NULL,
`zip_code` int(11) NOT NULL,
`tel` varchar(100) NOT NULL,
`fax` varchar(100) NOT NULL,
`email` varchar(1000) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我试图通过选择查询获取数据
SELECT * FROM wp_business;
我得到了结果,但是当我试图访问“8a”列时,得到了一个错误
$table_results[0]->8a;
错误:
[09-Dec-2019 16:38:20 UTC]PHP解析错误:语法错误,意外的'8'(T_LNUMBER),需要标识符(T_字符串)或变量(T_变量)或详细信息中的'{'或'$'
您无法以您尝试的方式在PHP中获取类对象的字段(变量)名称“8a”
另一方面,这不是在MySQL中指定以数字开头的字段的典型(但合法)方法。与PHP类相同。因此,有几种替代方法可以修复:
8a
更改为以字母开头的其他内容SELECT…,8a为v8a…
$table_results[0]->{'8a'};
8a
更改为以字母开头的其他内容SELECT…,8a为v8a…
$table_results[0]->{'8a'};
$table_results[0]-> {8a};
或者更好的方法是尝试重命名SELECT查询中的列名
SELECT `8a` as eightA FROM wp_business;
希望这有帮助!尝试变量解析
$table_results[0]-> {8a};
或者更好的方法是尝试重命名SELECT查询中的列名
SELECT `8a` as eightA FROM wp_business;
希望这有帮助!这里有一些解决方案已经为同一个问题提供了-这里有一些解决方案已经为同一个问题提供了-如果您将$table_results[0]['8a'放入最好给列指定特定的名称。这样,调试和跟踪什么做什么更容易。如果将$table_results[0]['8a']放入,得到的结果是什么最好给列指定特定的名称。这样,调试和跟踪什么做什么更容易。