- 締切済み
mysqlのメモリの開放、DB切断について
php,mysqlの勉強をしている初心者です。 mysqlのメモリの開放、DBの切断はselect処理をした時だけでよいのでしょうか? 以下の場合がよくわかりません。 -------------------------------------------------------------------------- (1)select処理を行う (2)(1)で行ったselect処理の値を使いinsert処理を行う (3)(2)の後にmysqlのメモリの開放、DBの切断をしようとするとエラーになってしまいます。 -------------------------------------------------------------------------- どなたかお分かりの方がいましたら教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mpro-gram
- ベストアンサー率74% (170/228)
持続接続を指定して接続を行うのでないのなら、プログラムが終了すれば、自動的に接続は切れます。 あと、pdoやmysqliオブジェクトの場合は、接続保持変数に別なデータを誤って入れちゃうだけでも、接続が切れますよ。質問の仕方レベルからは、そんな状況が目に浮かぶんですけどね。 あと、初心者のやりそうなのは、既にSQLのエラーでfalseが返っていてオブジェクトでは無くなってる変数にオブジェクトとしてアクセスしようとしてるんじゃないか?ここでようやくphpがエラーを返すから。 insertのところでエラーが出てるんだろうけど、sql文のエラーは、ちゃんとプログラムでエラーチェックするようにしないと、とらえられません。
- maiko0318
- ベストアンサー率21% (1483/6969)
1)select 2)insert ここでコミット処理/ロールバック処理したいところですね。 3)メモリ解放。DB切断 データに変更を加えたときはコミットをして完了させる。 またはキャンセルしてもとに戻す。 という処理が必要です。
お礼
コメントありがとうございます。 まだ初心者ですので、コミット処理/ロールバック処理が よくわかりませんのでこれから勉強していきたいと思います。
お礼
丁寧なご説明ありがとうございます。 持続接続を指定して接続は行いませんので、自動終了するのですね。 これからも地道に勉強していきたいと思います。