2012-12-10 138 views
0

突出一個簡短的問題,我有2如果我想合併成一個陳述。結合2如果stail

這些都是當前的if語句:

if (empty($_POST['route'])) 
{ 
    $formerrors[] = '<span class="error">route</span>'; 
} else { 
    $route = escape_data($_POST['route']); 

} 


if (mysql_num_rows($result) == 0) 
{ 
    $formerrors[] = '<span class="error">route</span>'; 
} else { 
    $route = escape_data($_POST['route']); 

} 

我需要的東西,如:

if (empty($_POST['route'])) & (mysql_num_rows($result) == 0) 
{ 
    $formerrors[] = '<span class="error">route</span>'; 
} else { 
    $route = escape_data($_POST['route']); 

} 

,但不是100%確定如何實現提前這個

感謝

+2

''&&是在這裏使用的分隔符,或字'和' – Dale

+1

答案已經給出。但是,還要記住給你選擇的語言的文檔。 http://php.net/manual/en/language.operators.logical.php – Alfabravo

+4

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql )。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 –

回答

0

你幾乎得到了它。

if ((empty($_POST['route'])) && (mysql_num_rows($result) == 0)) 
{ 
    $formerrors[] = '<span class="error">route</span>'; 
} else { 
    $route = escape_data($_POST['route']); 
} 
+2

需要更換&& => || – cetver

+0

是的,如果他想查看其中一個,那將是必要的。但是,如果兩個語句都是真的,他希望代碼觸發,則代碼是正確的。 – Maritim

+0

你在第一行有一個括號...... – Alvaro

3

你必須使用||(邏輯OR)位置:

if (empty($_POST['route']) || mysql_num_rows($result) == 0) { 
    ... 
} 

...否則你的錯誤處理代碼將僅當$_POST['route']$result是空的調用。

2
if (empty($_POST['route']) || mysql_num_rows($result) == 0) 
{ 
    $formerrors[] = '<span class="error">route</span>'; 
} else { 
    $route = escape_data($_POST['route']); 

} 
1

您需要學習PHP中的運算符。你用&這實際上是按位運算符and,而不是真實的and