Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySql查询到Azure SQL查询失败_Php_Mysql_Sql_Sql Server_Azure - Fatal编程技术网

Php MySql查询到Azure SQL查询失败

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

在我使用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中,查询中的数据类型必须与列中声明的数据类型相同


但是,我无法“理解出了什么问题,因为我的自定义方法是将值vithout”写为数字,而不是字符串…

能否尝试在where子句周围加上括号?例如,其中1=1,CreatedBy=20。不,我已经试过了,但问题仍然存在。。