ホームページ  >  記事  >  バックエンド開発  >  PHP MYSQL 動的 Web ページ プログラミング エラー修正ガイド_PHP チュートリアル

PHP MYSQL 動的 Web ページ プログラミング エラー修正ガイド_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:03:44644ブラウズ

データベースについて WEBプログラミングにおいて、データベースの役割はますます無視できなくなります。データベースに関して言えば、PHP は FileMaker から Oracle まで、ほぼすべてのデータベース システムとのシームレスな接続を実現できる非常に強力なデータベース サポート機能を備えていると言えます。この記事の説明を容易にするために、主に MySQL を例として説明します。ただし、他のデータベース アプリケーションにも適用できます。

PHP を使用してデータベース操作を実行するには、通常、次のステートメントが必要です:

$Host="ローカルホスト";
$MySQL_UserName="ルート";
$MySQL_UserPass="パスワード";
$MySQL_Database="db";
$Query="SELECT * FROM ドメイン";
mysql_connect ($Host, $MySQL_UserName, $MySQL_UserPass);
mysql_select_db ($MySQL_Database);
$Result_ID=mysql_query ($Query);
while ($Result=mysql_fetch_row($Result_ID)){
印刷 ------------------
;
print "$Result[0]
";
print "$Result[1]
";
print "$Result[2]
";
print "$Result[3]
";
印刷 -------------------
;
}?>

基本的な手順には、MySQL データベースへの接続の確立、データベース操作オブジェクトの選択、クエリ ステートメントの実行が含まれます。一般に、上記のプロセス中に発生するエラー メッセージは、問題をより正確かつ具体的に説明することができます。たとえば、「ユーザー名が間違っているため接続に失敗しました」というエラー レポートは、ユーザー名が間違っているためにデータベースへの接続が失敗したことを明確に示しています。

上記の関数の戻り値を利用することで、無用なトラブルを減らすことができます。たとえば、mysql_connect 関数は、接続が成功すると接続 ID 識別を返し、接続が失敗するとエラー メッセージを発行します。この点に関しては、以下を活用できます:

if (!mysql_connect ('localhost', 'root', 'password')){
print "MySQL
に接続できません";
終了します;
}

データベースへの接続に問題がある場合、エラーメッセージを出力してプログラムの実行を終了できます。これは長期的には非常に良い予防策です。このようにして、スクリプトを次のように書き換えます:

$Host="ローカルホスト";
$MySQL_UserName="ルート";
$MySQL_UserPass="パスワード";
$MySQL_Datab="db";
$Query="SELECT * FROM ドメイン";
if (!mysql_connect ($Host, $MySQL_UserName, $MySQL_UserPass)){
print "MySQL に接続できません: ".mysql_error();
終了します;
}
if (!mysql_select_db ($MySQL_Database)){
print "データベースを選択できません
";
終了します;
}
if (!$Result_ID=mysql_query ($Query)){
print "クエリエラー: ".mysql_error();
終了します;
}
while ($Result=mysql_fetch_row($Result_ID)){
印刷 ------------------
;
print "$Result[0]
";
print "$Result[1]
";
print "$Result[2]
";
print "$Result[3]
";
印刷 -------------------
;
}?>

これにより、プログラムに問題が発生した場合に、エラーの原因をすぐに見つけることができるため、ターゲットにされることができます。

次に、データベースにクエリを実行します。ただし、多くの場合、記述されたクエリ ステートメントを実行しても、戻りデータが得られません。正確に何が間違っていたのでしょうか?最善の解決策は、SQL ステートメントを変数に代入することです。例:

....
$SQL="SELECT * FROM $TableName WHERE $ColumnName > $Limit";
$Result_ID=mysql_query($QUERY);
...?>

問題が発生した場合は、「print」または「echo」コマンドを使用してステートメントを表示します。 $ColumnName と $Limit のスペルが正しいかどうか、および新しい変数が誤って作成されていないかどうかを確認してください。スペルミスは、出力表示方法を使用して簡単に見つけて解決できます。しかし、SQL ステートメントを表示しても明らかなエラーが見つからない場合はどうすればよいでしょうか?ここで、出力ステートメントを Mysql コマンド ライン インターフェイスなどのコマンド ライン ツールに貼り付けて、データが返されるかどうかを確認できます。それでも問題を解決できない場合は、使用しているアカウントのユーザー権限を確認する必要があります。

現在、無料で利用できる多くのクラスを使用して、ほとんどのデータベース操作を完了できます。 PHP クラス (http://phpclasses.upperdesign.com/) には多くの関連情報があり、興味のあるユーザーの参考として使用できます。その中でも、MetaBase は特定のデータベース システムに依存しないクエリと管理を提供できます。ユーザーが複数の異なるデータベース システムを同時に使用している場合、または自分のプログラムを他のデータベース プラットフォームに移植できることを望んでいる場合は、MetaBase の使用に注意を払うことができます。

注意すべきこと 最後に、PHP を使ってプログラミングする際に注意すべき点をまとめましたので、皆様のお役に立てれば幸いです。

1. ()、[]、{} などの記号がペアで表示されているかどうかを確認します。
2.文字列を確認し、「" の中で "" を使用する場合はエスケープ文字 "" を使用する必要があることに注意してください。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/630909.html技術記事データベースについて WEBプログラミングにおいて、データベースの役割はますます無視できなくなります。データベースに関して言えば、PHP には FileMaker から Oracl まで、非常に強力なデータベース サポート機能があると言うべきです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。