2011-08-23 8 views
1

私は現在MySQLを使ってPHPプロジェクトを進めています。私はページの上部と下部にPHPを開始して終了するPHPタグを持っています。 PHPタグの間に、私はブラウザにエコーステートメント出力HTMLを開いています。私はPHPを実行する必要があるページの一部では、私はエコータグを終了しPHPでやって続けるか死ぬ

mysql_query($myQuery) or die("Error"); 

を使用してMySQLのクエリを実行し、MySQLはエラーが発生したとき、それはその時点で停止し、HTMLのISNの残りの部分明らかにページのデザインに影響を与えます。

MySQLの実行に失敗した場合、どのようにHTML部分を続行することができますか。

+0

コードを共有できますか? – Andrea

+0

あなたのコードを投稿してください! –

+0

'またはdie(...)'を削除するだけです。これにより、サーバーはページの処理を停止します。 –

答えて

3

コードの例が便利ですが、一般的にmysql_query() or die()パターンは必要ありません。あなたは実行が特定のクエリの失敗時に停止したくない場合は、単にor die()一部を省略:

echo 'Output something'; 
$res = mysql_query($sql); 
if ($res) { 
/* do stuff with the query results */ 
} else { 
    /* output an error if desired... or don't */ 
    echo 'There was a database error: '.mysql_error(); 
} 
echo 'Output some more stuff'; 
+0

ありがとう – Boardy

2

dieの代わりにprintを使用しますか?

+1

コード例はこれをより役立つものにしました。可能であれば、コード例を追加して回答を明確にすることを検討してください:) –

2

mysql_query関数の結果を変数に入れてテストします。

<?php 
    $result = mysql_query($query); 
    if ($result) then { echo "query was a success"; } 
    else { echo "query failed"; } 
    //rest of the program continues here... 
    echo "on with the show"; 
3

die()を他のコマンドに置き換えてください。 this article

0

dieを使用して、サーバーが残りのページの処理を停止します。あなたがエラーを表示し、ページ、使用のロードを続行する場合:

... mysql_query($myQuery) or echo "Error"; 
0

使用して 'または(死ぬ)本当に起こるべきではありませんのエラーを処理するだけの簡単な方法です。

エコーを使用する代わりに、すべての出力を変数に入れてください。エラーが発生した場合はifステートメント(またはtry/catchブロック)にラップし、同じページでエラーを正常に処理するか、エラーページinclude()とエラーページexitを処理してください。

実用アプリでdie()を使用することは実際には受け入れられないと感じています。

関連する問題