簡體   English   中英

PHP未將變量插入到MySQL查詢中

[英]PHP Not Inserting Variable Into mySQL Query

我無法將變量之一成功插入到mySQL查詢中。 這是查詢字符串:

$strShipMethodInfo = "SELECT BAMMDD, BAYY, BAXXX, ORDNUM, SHPNUM, \"SHIPMENT METHOD\", \"SHIPMENT STATUS\" FROM SHPPMTHD WHERE BAMMDD = " . $BAMMDD . " AND BAYY = " . $BAYY . " AND BAXXX = " . $BAXXX . " AND SHPNUM = " . $arrShippingInfo[$x]['SHPNUM'] . " AND ORDNUM = '" . $ORDNUM . "' ORDER BY SHPNUM";

我在另一個非常相似的查詢中使用$arrShippingInfo[$x]['SHPNUM'] ,並將該變量放入該查詢中。 但是,當我使用此查詢執行此操作時,它返回為空白。 所有其他值( BAMMDDBAYYBAXXX等)均已成功放入,但SHPNUM的變量未放入。

我已經嘗試了所有我能想到的一切,認為這可能是在錯誤的地方引用的報價,但我一直沒有成功。 誰能幫我解決這個問題嗎? 謝謝。

編輯:我在字符串上做了一個print_r ,它打印了兩次……一次正確插入SHPNUM ,一次空白。 原來這是我正在使用的for循環中的邏輯錯誤(我需要按順序運行每個貨件的查詢)。 <莫名其妙地更改為<=所以一旦我更改它就可以工作。 謝謝大家的答復。

我會說您使用$ x變量訪問數組值的方式或將原始數組值傳遞給字符串的方式都存在問題(很難說,沒有其余代碼:嘗試分配放入$ SHPNUM,然后將$ SHPNUM放入語句中?)。

在您的代碼中嘗試運行以下命令:

echo $x; echo $arrShippingInfo[$x]['SHPNUM'];
var_dump($arrShippingInfo);

並且您應該能夠找到問題。

在您的語句中使用偽數據,並最終以如下方式運行該代碼:

<?php

$BAMMDD = 'bamddd';
$BAYY = 'BAYY';
$BAXXX = 'BAXXX';
$arrShippingInfo[0]['SHPNUM'] = '54';
$ORDNUM = 555;

$x = 0;
$strShipMethodInfo = "SELECT BAMMDD, BAYY, BAXXX, ORDNUM, SHPNUM, \"SHIPMENT METHOD\", \"SHIPMENT STATUS\" FROM SHPPMTHD WHERE BAMMDD = " . $BAMMDD . " AND BAYY = " . $BAYY . " AND BAXXX = " . $BAXXX . " AND SHPNUM = " . $arrShippingInfo[$x]['SHPNUM'] . " AND ORDNUM = '" . $ORDNUM . "' ORDER BY SHPNUM";

echo "<pre>$strShipMethodInfo</pre>";
?>

產生:

從SHPPMTHD中選擇BAMMDD,BAYY,BAXXX,ORDNUM,SHPNUM,“發貨方式”,“發貨狀態”,其中BAMMDD = bamddd和BAYY = BAYY和BAXXX = BAXXX = BAXXX和SHPNUM = 54且ORDNUM ='555'按SHPNUM排序

$strShipMethodInfo = "SELECT BAMMDD, BAYY, BAXXX, ORDNUM, SHPNUM, \"SHIPMENT METHOD\", \"SHIPMENT STATUS\" FROM SHPPMTHD WHERE BAMMDD = '" . $BAMMDD . "' AND BAYY = '" . $BAYY . "' AND BAXXX = '" . $BAXXX . "' AND SHPNUM = '" . $arrShippingInfo[$x]['SHPNUM'] . "' AND ORDNUM = '" . $ORDNUM . "' ORDER BY SHPNUM";

where條件中添加了引號( '

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM