PHPでwebサービスを使ってみるわ!
とりあえずamazon ecs4.0を使ってみたwebサービス初心者の話
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
新しい記事を書く事で広告が消せます。
| BACK TO TOP |
エラーメッセージ「Call to a member function execute() on a non-object in」
PHPでSQLiteを使って、SQL文を実行する行でよく出しちゃうエラーメッセージ「Fatal error: Call to a member function execute() on a non-object in」。
今日も順調にFATALってるわよー!
PHP初心者のうちは、「PHPの文法が間違ってるのかしらー」と原因がわからなくてオロオロするけど、これはズバリ「間違ってるのはSQLの方だっ!」。
このエラーを出さないためには、まず「絶対正しいSQL」を書いてから、それをPHPのプログラムで実行させること!
コマンドラインでSQLを実行できる環境の人は、とりあえずSQLのテストを先にコマンドラインで確認しておくといいわ。
え、PHP内で変数を放り込んでるSQL文だから、コマンドラインでテストできない?
だーかーらー、変数部分は「変数に入るはずの値」に書き換えて、それをコマンドラインで実行するの。コマンドラインで実行してエラーが出るなら、SQL文が間違ってるの。そのバグをとってから、PHPにコピーして、変数部分は変数にするの。アンダースタン?
それでまだエラーが出るようなら、今度はPHPの文法エラー。変数部分の記述がミスってるとかそんなとこ。デバッグ・プリントして、表示されるSQL文が、コマンドラインで実行したものと違ってないか確認すればいいわ。
なーんて上から目線で偉そうにいってるけど、わりとよくやるエラーなの
めんどくさいから「もう中級者よ!」くらいの気分で、PHPにじかにSQLを書いたときにかぎってでるエラー。まだまだ初心者だから、手を抜いたらダメなのよねー
今日も順調にFATALってるわよー!
PHP初心者のうちは、「PHPの文法が間違ってるのかしらー」と原因がわからなくてオロオロするけど、これはズバリ「間違ってるのはSQLの方だっ!」。
このエラーを出さないためには、まず「絶対正しいSQL」を書いてから、それをPHPのプログラムで実行させること!
コマンドラインでSQLを実行できる環境の人は、とりあえずSQLのテストを先にコマンドラインで確認しておくといいわ。
え、PHP内で変数を放り込んでるSQL文だから、コマンドラインでテストできない?
だーかーらー、変数部分は「変数に入るはずの値」に書き換えて、それをコマンドラインで実行するの。コマンドラインで実行してエラーが出るなら、SQL文が間違ってるの。そのバグをとってから、PHPにコピーして、変数部分は変数にするの。アンダースタン?
それでまだエラーが出るようなら、今度はPHPの文法エラー。変数部分の記述がミスってるとかそんなとこ。デバッグ・プリントして、表示されるSQL文が、コマンドラインで実行したものと違ってないか確認すればいいわ。
なーんて上から目線で偉そうにいってるけど、わりとよくやるエラーなの
めんどくさいから「もう中級者よ!」くらいの気分で、PHPにじかにSQLを書いたときにかぎってでるエラー。まだまだ初心者だから、手を抜いたらダメなのよねー
コメント
承認待ちコメント
このコメントは管理者の承認待ちです
2012/09/05(水) 22:18:48 | | #[ 編集]
コメントする
このエントリーのトラックバックURL
これがこのエントリーのトラックバックURLです。
この記事にトラックバックする(FC2ブログユーザー)
この記事にトラックバックする(FC2ブログユーザー)