mysql_query() の実装結果は常に false です
mysql_query() の実行結果は常に false です
1) test という名前の既存のデータベースがあり、このデータベースには Student テーブルが 1 つだけあります。
属性名: ID、Name、Email。
2) データベース接続と操作をクラス DatabaseManager にカプセル化し、クラス StudentDetailsDataManager を拡張して学生情報を取得してみます。
3) 問題: テスト データベースに接続でき、SQL ステートメントは問題なくデータベースでテストされましたが、SQL ステートメントを実行した mysql_query() の結果は常に false になります。何が問題なのかわかりませんか?
コードは次のとおりです。
データベース操作基本クラス: DatabaseManager
- PHP コード
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> //DatabaseManager.php <?php class DatabaseManager{ protected $host; protected $name; protected $user; protected $psw; protected $connection; protected $close_flag; public function __construct($connection,$close_flag){ $this->connection = $connection; $this->connection = $close_flag; } protected function db_open(){ if(empty($this->connection)){ $this->connection = mysql_connect($this->host,$this->user,$this->psw); if (!$this->connection) { $this->db_handle_error_connetion(); return false; } if (!mysql_select_db($this->name,$this->connection)) { $this->da_handle_select(); return false; } } } public function db_close(){ if($this->connection) mysql_close($this->connection); } protected function db_handle_error_connetion(){ echo 'Failed connetion'; } protected function db_handle_select(){ echo 'Failed access database!'; } } ?>
------
派生クラス: StudentDetailsDataManager
- PHP コード
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> //StudentDetailsDataManager.php <?php require 'DatabaseManager.php'; class StudentDetailsDataManager extends DatabaseManager{ public function __construct($connection="",$close_flag=true){ parent::__construct($connection, $close_flag); $this->host = "localhost"; $this->user = "root"; $this->psw = "root"; $this->name = "test"; $this->db_open(); } public function getStudentInfo($ID,&$data){ //$query = "SELECT * FROM student WHERE ID ='$ID'"; $query = "select * from student where ID = '$ID'"; $result = mysql_query($query); //print_r($result); if (!$result) { echo "result is empty!!"; return false; } $data = mysql_fetch_array($result,MYSQL_ASSOC); mysql_free_result($result); } } ?>
----
StudentDetailsDataManager インスタンスを使用して学生情報を取得します
- PHP コード
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?php require_once 'StudentDetailsDataManager.php'; $stuDataManager = new StudentDetailsDataManager(); $ID = "DA123456"; $data=NULL; $stuDataManager->getStudentInfo($ID, $data); $stuDataManager->db_close(); echo $data["ID"]; ?>
-----解決策---------
mysql_error ちょっと見てみてください。あなたは知っているでしょう
------解決策---------
public function __construct($connection,$close_flag) {
$this->connection = $connection;
$this->connection = $close_flag;
}
そのような重大なエラーさえ見えないのでしょうか?
また
if (!mysql_select_db($this->name,$this->connection)) {

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









CONNECTION_REFUSED は、通常、リモート サーバーに接続しようとしたときに発生するネットワーク接続エラーです。クライアント デバイスがサーバーとのネットワーク接続を確立しようとして、サーバーが接続要求を拒否すると、CONNECTION_REFUSED エラーが返されます。一般的な理由には、サーバーが起動していない、サーバーがこれ以上の接続要求を受け入れることができない、サーバーのファイアウォールが接続をブロックしているなどがあります。

解決策: 1. ネットワーク接続を確認する; 2. サーバーの状態を確認する; 3. キャッシュと Cookie をクリアする; 4. ファイアウォールとセキュリティ ソフトウェアの設定を確認する; 5. 他のネットワークを使用してみるなど。

PHP を使用して MySQL データベースに接続するときに次のエラー メッセージが表示された場合: PHPWarning:mysqli_connect():(HY000/2002):Connection拒否された場合は、以下の手順に従ってこの問題の解決を試みることができます。 MySQL サービスが正常に動作しているかどうかを確認するには、まず MySQL サービスが正常に動作しているかどうかを確認する必要がありますが、サービスが動作していない、または開始に失敗している場合は、接続拒否エラーが発生する可能性があります。あなたはできる

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

同僚は、これによって指摘されたバグのために立ち往生しました。Vue2 のこの指摘の問題により、アロー関数が使用され、その結果、対応する props を取得できなくなりました。私がそれを彼に紹介したとき、彼はそれを知りませんでした。その後、私はわざとフロントエンド コミュニケーション グループに目を向けました。これまでのところ、フロントエンド プログラマーの少なくとも 70% はまだそれを理解していません。今日私はそれを共有しますyou this link. もしすべてが間違っている場合 まだ学習していない場合は、大きな口を与えてください。

いいえ、トップレベルのクラスをプライベートまたは保護されたものとして宣言することはできません。 public またはデフォルト (修飾子なし) にすることができます。修飾子がない場合は、デフォルトのアクセス権が存在する必要があります。構文 //Atoplevelclass publicclassTopLevelClassTest{ //Classbody} 最上位クラスが private として宣言されている場合、コンパイラはエラーを報告し、「修飾子 private はここでは使用できません。」というプロンプトを表示します。これは、トップレベルのクラスをプライベートにすることはできないことを意味し、保護されたアクセスにも同じことが当てはまります。

この記事は、vue ソース コードを解釈するのに役立ち、これを使用して Vue2 のさまざまなオプションのプロパティにアクセスできる理由を紹介します。

1. this キーワード 1. this の型: どのオブジェクトが呼び出されるかがそのオブジェクトの参照型 2. 使用法の概要 1. this.data;//アクセス属性 2. this.func();// アクセスメソッド 3.this ( );//このクラス内の他のコンストラクタを呼び出す 3. 使い方の説明 1.this.dataはメンバメソッドで使用しているので、これを追加しないとどうなるかを見てみましょう classMyDate{publicintyear;publicintmonth;publicintday; publicvoidsetDate(intyear, intmonth,intday){はい
