thinkphp3.2 表名大写问题

在使用ThinkPHP3.2连接SQLServer时,遇到表名转换为小写并加下划线的问题,导致无法正确读取特定表名(如BillFormat)。本文详细描述了解决方法,即修改Model.class.php文件中的tableName赋值方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

thinkphp3.2 连sqlserver数据库,有个表名是BillFormat,结果报错:

:(

208:[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]对象名 'bill_format' 无效。 [ SQL语句 ] : SELECT T1.* FROM (SELECT thinkphp.*, ROW_NUMBER() OVER ( ORDER BY rand()) AS ROW_NUMBER FROM (SELECT * FROM [bill_format]) AS thinkphp) AS T1 WHERE (T1.ROW_NUMBER BETWEEN 1 AND 10)

原因是thinkphp3.2把所有表名里面的大写字母转为小写,而且还加了_,

解决方法:

把Model.class.php的第1772行  

 $tableName .= parse_name($this->name);

改为:

 $tableName .= $this->name;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值