|
From: "Jay Blanchard" on 25 Jul 2008 13:55 $getEnd = "select a.ACCOUNTID as CONTRACT, a.BALANCE/10000 as BALANCE, b.STATUS, b.IMSI_ID as MDN, b.IMEI_ID as ESN, "; $getEnd .= "b.EQUIP_ID as MIN, b.MKT, b.MARKET_NAME "; $getEnd .= "FROM work.account_".$startDate." a "; $getEnd .= "JOIN work.customer_".$startDate." b "; $getEnd .= "ON ( b.CONTRACT_ID = a.ACCOUNTID AND b.RUNDATE = date_sub(a.BC_ACCOUNT_ARC_DATE, interval 1 day)) "; $getEnd .= "WHERE a.BC_ACCOUNT_ARC_DATE = str_to_date('".$endDate."','%Y%m%d') "; $getEnd .= "AND a.ACCOUNTID = '".$acct['CONTRACT']."' "; $getEnd .= "AND a.status = 1 "; $getEnd .= "AND a.balance > 0 "; if(!$dbEnd = (mysql_query($getEnd, $dbc))){ echo mysql_error() . "\n"; exit(); } echo $getEnd; returns.... select a.ACCOUNTID as CONTRACT, a.BALANCE/10000 as BALANCE, b.STATUS, b.IMSI_ID as MDN, b.IMEI_ID as ESN, b.EQUIP_ID as MIN, b.MKT, b.MARKET_NAME FROM work.account_20080601 a JOIN work.customer_20080601 b ON ( b.CONTRACT_ID = a.ACCOUNTID AND b.RUNDATE = date_sub(a.BC_ACCOUNT_ARC_DATE, interval 1 day)) WHERE a.BC_ACCOUNT_ARC_DATE = str_to_date('20080602','%Y%m%d') AND a.ACCOUNTID = '1000080' AND a.status = 1 AND a.balance > 0 ....which works from the command line. $endBal = mysql_fetch_array($dbEnd); echo mysql_num_rows($dbEnd); print_r($endBal); Nothing gets returned from those last statements. Am I missing something completely?
From: "Daniel Brown" on 25 Jul 2008 14:06 On Fri, Jul 25, 2008 at 1:55 PM, Jay Blanchard <jblanchard(a)pocket.com> wrote: [snip!] > > $endBal = mysql_fetch_array($dbEnd); > echo mysql_num_rows($dbEnd); > print_r($endBal); > > Nothing gets returned from those last statements. Am I missing something > completely? Right here.... <?php // Code before.... if(!$dbEnd = (mysql_query($getEnd, $dbc))){ echo mysql_error() . "\n"; exit(); } // .... code after.... ?> You're merging assignment. Maybe you meant this: <?php if(($dbEnd = mysql_query($getEnd, $dbc)) === FALSE) { echo mysql_error() . "\n"; exit(); } ?> Or you could do it like I do: <?php $dbEnd = mysql_query($getEnd,$dbc) or die(mysql_error()); ?> -- </Daniel P. Brown> Better prices on dedicated servers: Intel 2.4GHz/60GB/512MB/2TB $49.99/mo. Intel 3.06GHz/80GB/1GB/2TB $59.99/mo. Dedicated servers, VPS, and hosting from $2.50/mo.
From: "Jay Blanchard" on 25 Jul 2008 14:36 [snip] [snip!] > > $endBal = mysql_fetch_array($dbEnd); > echo mysql_num_rows($dbEnd); > print_r($endBal); > > Nothing gets returned from those last statements. Am I missing something > completely? Right here.... <?php // Code before.... if(!$dbEnd = (mysql_query($getEnd, $dbc))){ echo mysql_error() . "\n"; exit(); } // .... code after.... ?> You're merging assignment. Maybe you meant this: <?php if(($dbEnd = mysql_query($getEnd, $dbc)) === FALSE) { echo mysql_error() . "\n"; exit(); } ?> [/snip] I have several other queries running in this example and they all use the same run/error check routine with no issues. This has always worked in the past. It is like saying if(!$theFile = fopen('myfile.txt', 'a'))
From: "Daniel Brown" on 25 Jul 2008 14:57 On Fri, Jul 25, 2008 at 2:36 PM, Jay Blanchard <jblanchard(a)pocket.com> wrote: > > I have several other queries running in this example and they all use > the same run/error check routine with no issues. I'm sure you've already tried this, but did you copy the SQL query echo'd out and try it directly with MySQL to make sure there are rows returned? -- </Daniel P. Brown> Better prices on dedicated servers: Intel 2.4GHz/60GB/512MB/2TB $49.99/mo. Intel 3.06GHz/80GB/1GB/2TB $59.99/mo. Dedicated servers, VPS, and hosting from $2.50/mo.
From: "Jay Blanchard" on 25 Jul 2008 15:07 [snip] I'm sure you've already tried this, but did you copy the SQL query echo'd out and try it directly with MySQL to make sure there are rows returned? [/snip] Yes. *slaps forehead soundly* I found that there was a missing greater than sign in a greater than or equal to requirement in an earlier query.
|
Next
|
Last
Pages: 1 2 Prev: Creating user groups in social application (e.g. facebook group) Next: Double results?? |