php UPDATE不工作查询

时间:2015-05-23 09:46:24

标签: php mysql

我有一个执行以下操作的PHP脚本: 它选择表中的所有数据。如果行大于0,则必须更新数据,否则会生成新的数据行。使新数据工作,只有更新不会运行。 这是我的代码:

$host = "localhost";
$user = "******";
$password = "*********";
$database = "elektrowinkel";

$link = mysqli_connect($host, $user, $password) or die("Er kan geen connectie gelegd worden met $host");

mysqli_select_db($link, $database) or die("databank $database niet beschikbaar");

$queryRijen = "SELECT * FROM stock_fysieke_winkels
                  WHERE Fysieke_winkel_ID = '". $_POST['winkel'] . "' and
                        Product_ID = '" . $_POST['product']. "'";

$rijen = mysqli_query($link, $queryRijen);

$resultaat = mysqli_num_rows($rijen);

if (mysqli_num_rows($rijen) > 0)
{
$query = "UPDATE stock_fysieke_winkels
          Set Aantal = '" .$_POST['aantal']. "'
          WHERE Fysieke_winkel_ID = '". $_POST['winkel'] . "',
                Product_ID = '" . $_POST['product']. "'";
}   
else
{
$query = "INSERT INTO stock_fysieke_winkels (Fysieke_winkel_ID, Product_ID, Aantal)               
        VALUES ('". $_POST['winkel'] . "', '" . 
                    $_POST['product']. "', '" .
                    $_POST['aantal']. "')";

echo "Er is een nieuw product toegevoegd bij winkel ". $_POST['winkel'] . "" ;
}

mysqli_query($link, $query) or die("Er is een fout opgetreden bij het uitvoeren van de query: \"$query\"");

谢谢!

3 个答案:

答案 0 :(得分:1)

尝试使用以下方法更改您的更新查询:

UPDATE stock_fysieke_winkels Set Aantal = '" .$_POST['aantal']. "' WHERE Fysieke_winkel_ID = '". $_POST['winkel'] . "' AND Product_ID = '" . $_POST['product']. "'

使用关键字" AND"结合多个条件" WHERE"子句。

答案 1 :(得分:1)

正如我在评论中所说,您在查询中错过了操作员AND。由于存在多个条件,因此您需要添加AND。这样做: -

$query = "UPDATE stock_fysieke_winkels Set Aantal = '" .$_POST['aantal']. "' WHERE Fysieke_winkel_ID = '". $_POST['winkel'] . "' AND Product_ID = '" . $_POST['product']. "'";

注意: - 如果需要其中任何一个,那么您可以使用OR代替AND。谢谢

答案 2 :(得分:0)

您错过了Where子句之间的关键字AND / OR。重写以下更新查询

$query = "UPDATE stock_fysieke_winkels
          Set Aantal = '" .$_POST['aantal']. "'
          WHERE Fysieke_winkel_ID = '". $_POST['winkel'] . "' OR/AND
                Product_ID = '" . $_POST['product']. "'";