Php 需要输入在条件IF中添加第二个MySql更新

Php 需要输入在条件IF中添加第二个MySql更新,php,mysql,Php,Mysql,如果$amount==0.00,则尝试在第二个更新中添加第二个更新 这一切都很完美,直到我尝试在下面添加这一点: 要添加的位: $updateSQL = "UPDATE brick_codes SET number_of_uses= '$number_of_uses' WHERE code= 'bricks_type_0005'"; 我的代码: if ($amount != "0.00") : $updateSQL = "UPDAT

如果$amount==0.00,则尝试在第二个更新中添加第二个更新

这一切都很完美,直到我尝试在下面添加这一点:

要添加的位:

$updateSQL = "UPDATE brick_codes 
              SET number_of_uses= '$number_of_uses' 
              WHERE code= 'bricks_type_0005'";
我的代码:

if ($amount != "0.00")  :
$updateSQL = "UPDATE bricks 
              SET payment_page_completed = '$payment_page_completed'
                , discount = '$discount'
                , discount_code_used = '$discount_code_used'
                , access_period = '$access_period'
                , gift_certificate = '$gift_certificate'
                , bricks_price = '$bricks_price' 
              WHERE brick_id = '$brick_id'";

elseif( $amount == "0.00" ) : 

$updateSQL = "UPDATE bricks 
              SET payment_page_completed = '$payment_page_completed'
                , discount='$discount'
                , discount_code_used='$discount_code_used'
                , access_period='$access_period'
                , gift_certificate='$gift_certificate'
                , bricks_price='$bricks_price'
                , payment_date='$payment_date'
                , bricks_paid='$bricks_paid'"; 
//此位正在尝试添加,但现在正在工作

 $updateSQL = "UPDATE brick_codes 
               SET number_of_uses = '$number_of_uses' 
               WHERE code = 'bricks_type_0005'";
//结束新位

 WHERE bricks_id = '$bricks_id'"; 
 endif;

想法?已经看了很久了。

您需要更好地格式化if语句

if ($amount != "0.00")
{

    $updateSQL = "UPDATE bricks SET payment_page_completed='$payment_page_completed',discount='$discount',discount_code_used='$discount_code_used', access_period='$access_period', gift_certificate='$gift_certificate',bricks_price='$bricks_price' WHERE brick_id='$brick_id'";
}
elseif( $amount == "0.00" )
{

    $updateSQL = "UPDATE bricks SET payment_page_completed='$payment_page_completed',discount='$discount', discount_code_used='$discount_code_used',access_period='$access_period', gift_certificate='$gift_certificate',bricks_price='$bricks_price', payment_date='$payment_date', bricks_paid='$bricks_paid'";

    // Execute this one...

    $updateSQL = "UPDATE brick_codes SET number_of_uses='$number_of_uses' WHERE   code='bricks_type_0005'";

    // Then execute this one...

}

如果使用此语法:

if ($var = something) :
您还可以在if之后执行一条语句。我建议您永远不要使用这种语法,而是使用括号{…},无论您在括号内放置什么,都会执行,无论是1条还是100条语句

您的代码将如下所示:

if ($amount != "0.00") {
  $updateSQL1 = "UPDATE bricks 
          SET payment_page_completed = '$payment_page_completed'
            , discount = '$discount'
            , discount_code_used = '$discount_code_used'
            , access_period = '$access_period'
            , gift_certificate = '$gift_certificate'
            , bricks_price = '$bricks_price' 
          WHERE brick_id = '$brick_id'";
  $updateSQL2 = //insert second UPDATE statement here.
} else { //no need for an explicit test, just use an else.
  $updateSQL1 = //insert update statement here.
  $updateSQL2 = "SELECT 1"; //empty statement, or another UPDATE, whatever you want.
}
缩进使程序结构清晰,每次有一个开始{你缩进两个空格,每次有一个结束}你取消缩进两个空格


始终使用括号,即使括号内只有一条语句,因为这样以后如果要添加另一条语句,就不会出现错误。

如果是INT值,请删除“$number\u of\u uses”中的引号。是否可以粘贴整个脚本?+1。问题-您是如何在$updateSQL中执行查询的?您是想把它们放在同一个语句中,还是要调用数据库两次?你得到的结果到底是什么?对脚本来说没什么。。定义$number\u的使用等,但仅此而已。。一切正常,除了尝试添加第二次更新…当我有机器人时,没有任何更新是完全更新的..我想如果你还好,他使用的是另一种语法if:endif;您正在覆盖$updateSQL变量。抱歉-iot是否解决了它是关于格式而不是Santiagobasultowh的注释当我在第二次更新时,我试图添加的内容是从第二次更新(如果有的话)?呃。。。你有两个更新语句-你需要先执行一个,然后执行另一个…是的,我想是的,只是重复了整个IF,将第一个保留为空,将第二个更新包含在第二个IF中。。但是没有工作??如果我去掉1和2,错误消息似乎与$updateSQL1和$updateSQL2有关。。然后不再获取错误消息。。。但没有更新..:@user718359,请别傻了,你需要执行两个查询,一个接一个的mysql_query$updateSQL1;mysql_query$updateSQL2;很抱歉,我的意思是,如果我只是将$updateSQL1和$updateSQL2重命名为$updateSQL和$updateSQLlet,我们就可以了