为什么我的查询奇怪地工作?

时间:2015-06-09 10:13:36

标签: php mysql

我用相同的变量得到这两个查询:

$query = 'UPDATE payee SET payee="oui", datePaiement=\'' . $datePaiement . '\',paiement="'.$paiement.'", typePaiement="' . utf8_decode($moyenPaiement) . '" WHERE id_commande=' . $commande->getNum() . '';
        $connexion->exec($query);

$query2 = 'UPDATE commande SET mpaiement="' . utf8_decode($moyenPaiement) . '",pxttc="'.$paiement.'" WHERE noCommande=" . $commande->getNum() . "';
        $connexion->exec($query2);

对于第一个,我的$paiement不会保存在我的数据库中。我得到一个$paiement = 0,而在我的第二个$paiement中,我可以保存。

我在第二个查询$moyenPaiement中使用了相同的模式,moyenPaiement保存为我想要的但在第一个查询中不保存。

对不起我的解释,可能会感到困惑。

1 个答案:

答案 0 :(得分:1)

你不应该将单引号和双引号结合起来,这会让人感到困惑。试试这个:

$query = 'UPDATE payee SET payee="oui", datePaiement="' . $datePaiement . '", paiement="'.$paiement.'", typePaiement="' . utf8_decode($moyenPaiement) . '" WHERE id_commande="' . $commande->getNum() . '"';
        $connexion->exec($query);

$query2 = 'UPDATE commande SET mpaiement="' . utf8_decode($moyenPaiement) . '", pxttc="'.$paiement.'" WHERE noCommande="' . $commande->getNum() . '"';
        $connexion->exec($query2);

稍后编辑:
如果发生奇怪的事情,请不要忘记打印您的查询。这些查询也可以在phpMyAdmin中进行测试。

print_r($query);