Php Yii,SQL Server查询错误
使用pdo_sqlsrv驱动程序(PHP5.4)与SQL Server协作 在我的数据库中,我有一列的Php Yii,SQL Server查询错误,php,sql-server,yii,Php,Sql Server,Yii,使用pdo_sqlsrv驱动程序(PHP5.4)与SQL Server协作 在我的数据库中,我有一列的varbinary类型和大小为7584 当我试图从这个列中获取值时,我得到了这个错误 Invalid sql_display_size in G:\..\..\..\framework\yiilite.php on line 8836 以下是查询: DECLARE @item varbinary(1728); SET @item = (SELECT Inventory FROM Charact
varbinary
类型和大小为7584
当我试图从这个列中获取值时,我得到了这个错误
Invalid sql_display_size in G:\..\..\..\framework\yiilite.php on line 8836
以下是查询:
DECLARE @item varbinary(1728); SET @item = (SELECT Inventory FROM Character WHERE Name='CharName'); print @item;
在这种情况下,我得到的正是我需要的尺寸。它可以在普通的php查询(而不是PDO)和SQLServerManagementStudio中工作
当我在Yii中运行此代码时:
$query = "DECLARE @item varbinary(1728); SET @item = (SELECT Inventory FROM Character WHERE Name='CharName'); print @item";
$command=Yii::app()->db->createCommand($query)->query();
$command->read();
我明白了:
SQLSTATE[IMSSP]:查询的活动结果不包含任何字段
我认为我建立了一个错误的查询
我的问题是,如何在Yii中运行这样的查询?您的问题已在以下网站上得到回答: 编辑: 在谷歌上快速搜索可为您提供大量有效答案:
最有效的答案是mssql PDO驱动程序充满了bug,您可以使用ODBC驱动程序,它的bug更少。我解决了这个问题。PDO_SQLSRV驱动程序与Windows上的MS SQL Server完美配合 问题是我试图执行错误的查询:
$query = "DECLARE @item varbinary(1728); SET @item = (SELECT Inventory FROM Character WHERE Name='CharName'); print @item";
$command=Yii::app()->db->createCommand($query)->query();
工作查询:
$query = "DECLARE @items varbinary(max);SET @items = (SELECT Inventory FROM Character WHERE Name='$id');Select @items";
$getI = Yii::app()->db->createCommand($query)->queryScalar();
仅此而已。如果您将其放在查询中会怎么样:DECLARE@item varbinary(1728);从Name='CharName'所在的字符中选择库存;我尝试了这个,它选择了我在专栏中的所有内容。错误“致命错误:在第8836行的C:\..\framework\yiilite.php中无效的sql\u显示\u大小”孤立链接是因为它本身没有意义,并且目标资源不保证在将来处于活动状态。请尝试至少包含您链接到的信息摘要。是的,这很糟糕,但如果您检查我提供的链接,更糟糕的是,该人回答了自己的问题,但没有将其发布在这里,因此,对于一个糟糕的问题,您的回答很糟糕。。