从 PHP 请求名称为分音符号的 MS SQL 表
Posted
技术标签:
【中文标题】从 PHP 请求名称为分音符号的 MS SQL 表【英文标题】:Request MS SQL table with diaeresis in name from PHP 【发布时间】:2017-02-23 16:52:19 【问题描述】:我们需要从表名中带有分音符号的客户端从 MS SQL 服务器检索数据(这是不好的做法)。
表名是BE België$Cities
,我们不允许更改表名。请求SELECT * FROM [BE België$Cities]
返回一个table not found错误。
我们如何从这个表中检索数据? 我们使用的是 SQL Server 2008、php7 和 Laravel 5.3。
【问题讨论】:
您是否尝试过在表名中使用反勾号??访问此链接:***.com/a/10443100/4952944 亲爱的 Gerard,我在 ssms 中使用 :SELECT * FROM dbo.België$Cities
通过 SSMS 在 SQL SERVER 2012 上检索数据没有问题。这可能与 sql server 和 PHP 之间的排序规则问题有关。
服务器是SQL SERVER 2008。
【参考方案1】:
也经常遇到这个问题,所以我给自己定了一条规则,在表名上始终使用反引号 (`),这应该可以解决您的问题。
你的情况
SELECT * FROM `België$Cities`;
应该可以。
【讨论】:
在使用方括号的 SQL SERVER 中不使用反引号。见:***.com/questions/10573922/… 用反引号替换方括号不起作用。我还添加了名称还包含空格的问题。不确定这是否重要。以上是关于从 PHP 请求名称为分音符号的 MS SQL 表的主要内容,如果未能解决你的问题,请参考以下文章
带有德语变音符号的 iOS 上的 FacebookDisplayName