如何在执行MYSQL查询之前检查条件?

时间:2013-04-05 19:25:40

标签: php mysql conditional-statements

我正在尝试检查在执行mysql更新之前是否存在条件。以下代码工作:

if (!mysql_query(
"UPDATE customers SET available_credit = available_credit where userid = '$userid';"
))

{
die('Sorry, a database error occurred');
}

...但我正试图像这样添加另一个条件:

if (!mysql_query && ($tradein_status == 'Accepted CREDIT')(
"UPDATE customers SET available_credit = available_credit where userid = '$userid';"
))

{
die('Sorry, a database error occurred');
}

..哪些不起作用 - 它会生成此错误:“解析错误:语法错误,意外'('在第235行的/home/bohemeth/public_html/tradeins/save_tradeins.php中”

我想知道的第二件事是为什么这部分:

if (!mysql_query(
"UPDATE customers SET available_credit = available_credit where userid = '$userid';"
))

...在条件之后没有用两个parens和花括号写的,似乎你会在其他任何地方进行条件测试,如下所示:

if (!mysql_query){
"UPDATE customers SET available_credit = available_credit where userid = '$userid';"
}

感谢您的帮助!!

4 个答案:

答案 0 :(得分:1)

mysql_query是一个功能。它的使用方式如下:mysql_query('SQL QUERY');

它像你的问题一样被写成试图让它更具可读性:

if(!mysql_query(
'SQL QUERY'
))

也可以这样写:

if(!mysql_query('SQL QUERY'))

因此,要添加另一个子句,请在mysql_query调用之前或之后添加它。

if($tradein_status == 'Accepted CREDIT' && mysql_query('SQL QUERY'))

if语句中,{}可以省略。在这种情况下,如果情况属实,那么下一行就是那一行。

所以,最后确定:

if($tradein_status == 'Accepted CREDIT' && mysql_query('SQL QUERY')){
    die('Sorry, a database error occurred');
}

答案 1 :(得分:1)

if ($tradein_status == 'Accepted CREDIT' && !mysql_query (
"UPDATE customers SET available_credit = available_credit where userid = '$userid';"
))

{
die('Sorry, a database error occurred');
}

mysql_query是一个函数,而不是一个变量。第二个parens中的字符串是参数。

答案 2 :(得分:0)

if ($tradein_status == 'Accepted CREDIT')
    mysql_query("UPDATE customers SET available_credit = available_credit where userid = '$userid';") or die("Sorry, a database error occurred");

您不能在函数名和参数之间编写其他代码。

答案 3 :(得分:0)

mysql_query是一个函数调用,它将查询"UPDATE customers SET available_credit = available_credit where userid = '$userid';"作为字符串参数传递。

这意味着mysql_query的格式必须为:

mysql_query("UPDATE customers SET available_credit = available_credit where userid = '$userid';")

mysql_query返回一个RESOURCE ..这是您查询的结果。

要添加第二个条件语句,请执行以下操作:

if (!mysql_query("UPDATE customers SET available_credit = available_credit where userid = '$userid';") && ($tradein_status == 'Accepted CREDIT'))