Php MySql查询到Azure SQL查询失败
在我使用Apache/MySql之前,我试图将我的网站移动到Azure,从而依赖他们的SQL服务器 我在转换查询时遇到了一些困难,因为它们不再工作了 如果我连接到MySql数据库,下面的方法可以工作,但是如果我更改到azuresql的连接,它就会失败 string178从schemedb.users中选择*,其中CreatedBy=20按日期排序creation Desc string177从schemedb.users中选择IdUsr,其中User=20按Id排序Desc 所有到Azure SQL server的连接都是正确的,这是一个更简单的查询,在这些连接正常执行之前。但后来我被困在这里了 php错误控制台说 致命错误:对中的非对象调用成员函数setFetchMode 为了了解问题出在哪里,我在查询中使用了var_dump,以查看它们失败的地方,如果我将它们更改为: string178从schemedb.users按日期排序创建描述string177从schemedb.users设置按Id排序描述选择IdUsr 这些查询是有效的,所以我猜问题是where子句,但我不知道问题出在哪里 -编辑 我做了一些测试,结果表明,如果我手动编写查询,它会按预期工作 我的意思是,上述查询是通过以下几种php自定义方法构建的: 。WHERE.$this->buildWhere。点菜。等等 但是如果我在那里输入CreatedBy=20,那么它就工作了 我最好的猜测是这是一个格式问题,因为在SQLAzure中,查询中的数据类型必须与列中声明的数据类型相同Php MySql查询到Azure SQL查询失败,php,mysql,sql,sql-server,azure,Php,Mysql,Sql,Sql Server,Azure,在我使用Apache/MySql之前,我试图将我的网站移动到Azure,从而依赖他们的SQL服务器 我在转换查询时遇到了一些困难,因为它们不再工作了 如果我连接到MySql数据库,下面的方法可以工作,但是如果我更改到azuresql的连接,它就会失败 string178从schemedb.users中选择*,其中CreatedBy=20按日期排序creation Desc string177从schemedb.users中选择IdUsr,其中User=20按Id排序Desc 所有到Azure S
但是,我无法“理解出了什么问题,因为我的自定义方法是将值vithout”写为数字,而不是字符串…能否尝试在where子句周围加上括号?例如,其中1=1,CreatedBy=20。不,我已经试过了,但问题仍然存在。。