我有以下代碼從多個表中選擇訂單號匹配。php pdo其中子句
$orderNumber = $_GET['orderNumber'];
$sql = $db->prepare("
SELECT
*
from `KC_Orders`
INNER JOIN
`KC_Payments`
on KC_Orders.orderNumber = KC_Payments.orderNumber
INNER JOIN
`KC_OrderStatus`
on KC_Orders.orderNumber = KC_OrderStatus.orderNumber
INNER JOIN
`KC_Statuses`
on KC_OrderStatus.statusID = KC_Statuses.statusID
WHERE
orderNumber= :orderNumber");
$sql->execute(array(':orderNumber' => $orderNumber));
$orderInfo = $sql->fetchAll();
現在,當我var_dump($orderInfo);
返回:array(0) { }
什麼是錯的?所有表中都包含相同的$orderNumber
字段。如果我把WHERE部分拿出來,它會工作得很好,除了它不僅返回每一行。 (obviosly)。
請幫助我們!
查詢失敗,你沒有打擾檢查失敗,或打開PDO的異常模式。 –
@MarcB然後告訴我如何。 – user3271851
如果你在運行'$ sql-> execute()之前'echo $ orderNumber;''那麼你會得到預期的結果嗎? – MonkeyZeus