2017-07-05 7 views
-1

私はこの権利をしているのか分かりません。PDOがif文で実行する

これが問題である:

if ($result->execute() && $result2->execute()){} 

はこれが行われたりないことができるものですか?

私の目標は、両方のクエリが機能する場合にのみIF内で何かを行うことです。

私はそれについてオンラインで何も見つかりませんでした。

+1

こんにちはとスタックオーバーフローを歓迎する、[、最小完全、かつ検証例]を作成する方法を読んでください(https://stackoverflow.com/help/mcve)ともチェック[良い質問をする方法](https://stackoverflow.com/help/how-to-ask)ので、フィードバックや役に立つ回答を得る機会を増やすことができます。 – DarkCygnus

+0

一致する行が見つからなくてもクエリは成功したと見なされることに注意してください。障害は、構文エラーまたはデータベースサーバーとの通信の問題のようなものです。 – Barmar

答えて

0

これは確かに可能です。 PDOの​​ステートメントは、成功するとtrue、失敗した場合はfalseを返します。スタイルをいくらか変更して読みやすいようにしますが、これを行うことはできません。

$success1 = $result->execute(); 
$success2 = $result2->execute(); 

if ($success1 and $success2) { 
    // Do stuff here on failure 
} 
else { 
    // Do stuff on failure here 
} 
+0

ありがとう、私は "と"についての簡単な質問があります。 "and"と&&の間に違いはありますか? – SuperRadio

+0

@ SuperRadio: 'and'と' && 'はPHPで同等です。私は ''と ''というキーワードを使うほうが少し読みやすいので使いたいです。 – Jacobm001

+0

個人的に私はIFの方が良いと思います。なぜなら条件のひとつが偽であるとPHPは条件の評価をやめます。つまり、第1のクエリが失敗した場合でも第2のクエリは失敗した場合でも、常に両方のクエリを実行します。彼らは何をするつもりだ、もちろん....しかし、私は 'と'の代わりに '&&'を使用するとちょうど奇妙な '笑'のように見える – ArtisticPhoenix

関連する問題