Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #14017

Re: PDO fetch with SQL server

From Jerry Stuckle <jstucklex@attglobal.net>
Newsgroups comp.lang.php, comp.database.ms-sqlserver
Subject Re: PDO fetch with SQL server
Date 2014-06-23 12:10 -0400
Organization A noiseless patient Spider
Message-ID <lo9ji7$mud$2@dont-email.me> (permalink)
References <lo9fin$oo3$1@dont-email.me>

Cross-posted to 2 groups.

Show all headers | View raw


On 6/23/2014 11:02 AM, Shelly wrote:
> I have a strange case.  I have a query in SQL server that has in the
> beginning to determine the action:
> 
>                 SELECT
>                     CASE
>                         WHEN x.NEW_HASH = x.PREVIOUS_HASH THEN 'SAME'
>                         WHEN x.NEW_HASH != x.PREVIOUS_HASH AND
> x.PREVIOUS_HASH IS NOT NULL AND x.[KEY] IS NOT NULL THEN 'UPDATE'
>                         WHEN x.PREVIOUS_HASH IS NULL AND
> x.count_of_tracking_records > 0 THEN 'UPDATE'
>                         WHEN x.PREVIOUS_HASH IS NULL THEN 'INSERT'
>                         WHEN x.[KEY] IS NULL THEN 'DELETE'
>                         ELSE 'UNKNOWN'
>                     END AS ACTION,
>                     x.*
> 
> so that it will choose the action.  There is a FULL OUTER JOIN at the
> end to the destination table.  Another, later, query, will do a merge
> and perform the action specified in the results of this query.
> 
> The PHP function that this uses is a PDO statement with the fetch method
> and the PDO::FETCH_ASSOC as the parameter.
> 
> When this query is run against an empty destination table, 1991 records
> are obtained which are subsequently inserted into the destination table
> by the second query.
> 
> When this same query is then run against this filled table, with the
> same records, the PDO fetch retrieves zero records. I have put in log
> files into the PHP code and it is clear that the fetch returns zero
> records.
> 
> However, when this query is cut and pasted into Sqlserver Management
> Studio and run, it produces 3982 records.  The first 1981 are with
> action DELETE and the rest are with action INSERT.
> 
> One additional point that might, or might not, have a bearing on this.
> Some variables have bindings.  For example a :grouping_1 has a string
> value that is the same for the entire query.  When I run it in Sqlserver
> Management Studio I replace those bind variable with their values.
> 
> Crossposted to both the php and sqlserver news groups.
> 

This is not a PHP question.

Just because you're using PDO does not mean PHP is involved.



-- 
==================
Remove the "x" from my email address
Jerry Stuckle
jstucklex@attglobal.net
==================

Back to comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

PDO fetch with SQL server Shelly <sheldonlg@thevillages.net> - 2014-06-23 11:02 -0400
  Re: PDO fetch with SQL server Jerry Stuckle <jstucklex@attglobal.net> - 2014-06-23 12:10 -0400
  Re: PDO fetch with SQL server Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-06-24 13:19 +0200
    Re: PDO fetch with SQL server Richard Damon <Richard@Damon-Family.org> - 2014-06-24 08:33 -0400
      Re: PDO fetch with SQL server Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-06-24 15:38 +0200

csiph-web