2012-04-04 2 views
0

는 SQLManagement 스튜디오에서이 쿼리를 실행하면 내 PHP 페이지에이 코드의 결과를 보내고 echo에서 가져온 162 행거래-SQL 및 PHP 문제

SELECT order_num, 
     status, 
     ship_date, 
     cust_ord_num, 
     weight, 
     carrier_desc, 
     consignee, 
     cases 
FROM v1oemf 
WHERE ACCOUNT = 'NESTLE' 
     AND status LIKE '%Shipped%' 
     AND (ship_date BETWEEN '20120327' AND '20120403') 

의 결과 집합을 반환

echo "SELECT Order_num,Status,Ship_date,Cust_ord_num,Weight,Carrier_desc,Consignee,Cases FROM V1OEMF WHERE Account = '" . $_POST['account'] . "' AND Status LIKE '%". $_POST['custstat'] ."%' AND (Ship_date BETWEEN '".$_POST['start_date']."' AND '".$_POST['end_date']."')"; 
$rs=odbc_exec($link,"SELECT Order_num,Status,Ship_date,Cust_ord_num,Weight,Carrier_desc,Consignee,Cases FROM V1OEMF WHERE Account = '" . $_POST['account'] . "' AND Status LIKE '". $_POST['custstat'] ."' AND Ship_date BETWEEN '".$_POST['start_date']."' AND '".$_POST['end_date']."'"); 

PHP 기반 쿼리의 결과 집합은 0 행이며, 내 삶의 문제로 볼 수는 없습니다 ...

여기에 re-table의 테이블을 작성해야하는 전체 섹션이 있습니다. 당신이 첫 번째 SQL 문에 같은 LIKE을 수행하려는 경우 sults

$rs=odbc_exec($link,"SELECT Order_num,Status,Ship_date,Cust_ord_num,Weight,Carrier_desc,Consignee,Cases FROM V1OEMF WHERE Account = '" . $_POST['account'] . "' AND Status LIKE '". $_POST['custstat'] ."' AND Ship_date BETWEEN '".$_POST['start_date']."' AND '".$_POST['end_date']."'"); 
           $num = odbc_num_rows($rs); 
           echo $num; 
           echo "<table>"; 
           echo "<thead><tr class='header'>"; 
           echo "<td>Order #</td><td>Status</td><td>Ship Date</td><td>Sales Order #</td><td>Consignee</td><td>Carrier</td><td>Cases</td><td>Weight</td>"; 
           echo "</tr></thead>"; 
           while (odbc_fetch_row($rs)) { 
                 echo "<tr><td id='f1'><a class='ow' href='' id='" . odbc_result($rs,'Order_num') . "'>" . odbc_result($rs,'Order_num') . "</a></td><td id='f2'>" . odbc_result($rs,'Status') . "</td><td id='f3'>" . odbc_result($rs,'Ship_date') . "</td><td id='f5'>" . odbc_result($rs,'Cust_ord_num') . "</td><td id='f6'>" . odbc_result($rs,'Consignee') . "</td><td id='f7'>" . odbc_result($rs,'Carrier_desc') . "</td><td id='f8' align='right'>" . odbc_result($rs,'Cases') . "</td><td id='f9' align='right'>" . odbc_result($rs,'Weight') . "</td></tr>"; 
                 } 
           echo "</table>"; 
+0

스크립트는 SQL 삽입에 개방되어 있으며 ['odbc_prepare()'] (http://www.php.net/manual/en/function.odbc-prepare)를 통해 준비된 명령문으로보다 잘 처리 될 수 있습니다. PHP) –

+0

나는 그것을 고칠 계획을 알고있어, 고마워. – ScottC

답변

4

당신은 주위 $_POST['custstat']%을 필요로 할 것이다.

echo에 있지만 실제 SQL에는 없습니다.