Php 需要输入在条件IF中添加第二个MySql更新
如果$amount==0.00,则尝试在第二个更新中添加第二个更新 这一切都很完美,直到我尝试在下面添加这一点: 要添加的位: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
$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,我们就可以了