繁体   English   中英

Transact-SQL 和 PHP 问题

[英]Transact-SQL and PHP issue

在 SQLManagement studio 中运行此查询返回 162 行的结果集

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' ) 

这是我在我的 PHP 页面上echo显这段代码的结果得到的

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 行,我这辈子都看不到这个问题......

这是应该构建结果表的整个部分

$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>";

如果您希望它像在您的第一个 SQL 语句中那样执行LIKE操作,则您将需要% around $_POST['custstat']

你在echo中有它们,但在实际的 SQL 中没有。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM