mysqlデータベースクラスの問題
mysql
これは db 抽象クラスから継承された mysql クラスで、db の抽象メソッドが mysql に実装されています。db class:
abstract class db{
//データベースに接続します
abstract public function connect($h, $u ,$p);
//クエリを送信
abstract public function query($sql);
//複数行のデータをクエリ
abstract public function getAll($sql);
//単一行のデータをクエリ
public function getOne($ sql);
//単一データをクエリする
abstract public function getRow($sql);
abstract public function autoExecute($arr,$table,$mode='insert ',$where='1 limit) 1');
}
class mysql extends db{
private static $ins=null;
private $conf=array() // データベースの構成情報を読み取る
protected 関数 __construct (){
$this ->conf=conf::getIns();
$this->select_db($this->conf->db);
$this->connect($this-> ;conf->host ,$this->conf->user,$this->conf->pwd);// 表示は空です
$this->setChar($this->conf ->char);
}
public function __destruct(){
}
//シングルトン モードを使用し、新規は 1 回のみ許可します
public static function getIns(){
if(self::$ins===null) {
self::$ ins=new self();
}
return self::$ins; }
//接続に失敗すると例外がスローされます
public function connect($h,$u, $p){
//いいえ、ここまで来ました
$this->conn=mysql_connect($h,$u,$p)
}
protected function select_db($db){
$sql='use '。 $db;
$this->query($sql);
protected 関数 setChar($char){
$sql='set names '.$char;
return $this->query($sql; );
}
// データを送信
public function query($sql){
/*if($this->conf->debug){
log::write($sql); /* var_dump($sql) ;
exit;*/
$rs=mysql_query($sql,$this->conn);
/*if(!rs){
log::write($this-> error());
if(!$rs){
echo '失敗
'
echo '
;
var_dump($this- >conf);
}
return $rs; }
//自動計算
public function autoExecute($arr,$table,$mode='insert ',$where='1) limit 1'){
if(!is_array($arr)){
return false;
}//テーブル内のデータを更新します
if($mode=='update'){
$sql='update '。 $table.'set' ;
foreach($arr as $k=>$v){
$sql.=$k."='".$v."',"
}
$sql=rtrim ($sql,', ');
$sql.=$where;
$this->query($sql); }
$sql='insert into '.$table.'('.implode( ',',array_keys( $arr)).')';
$sql.='values('';
$sql.=implode("','",array_values($arr));
$sql. ='')';
return $this->query($sql);
}
//テーブル内のすべての修飾された複数行データを取得します
public function getAll($sql){
$rs=$this- >query($sql );
$list=array();
while($row=mysql_fetch_assoc($rs)){
$list[]=$row;
return $list;条件を満たすデータの行を取得します
public function getRow($sql){
$rs=$this->query($sql);
return mysql_fetch_assoc($rs); // データの一部を取得しますdata
public function getOne($sql){
$rs=$this->query($sql);
$row=mysql_fetch_assoc($rs);
return $row[0] }
//影響を受けるデータ
public function inspired_rows(){
return mysql_affected_rows($this->conn)
}
//ID を挿入
public function insert_id(){
return mysql_insert_id($this->conn); }
}
なぜ警告: mysql_ query (): provided argument is not a valid MySQL-Link resource
多くのエラーをトラブルシューティングした後、プログラムがこのステップに到達していないことがわかりました
public function connect($h,$u, $p){
//このステップに到達していません
$this->conn=mysql_connect($h,$u,$p);
}
理由が思いつかない
ディスカッションに返信(解決策)
//データベースの構成情報を読み取る
protected function __construct (){
プロテクトモードでコンストラクタを指定した場合、どのように実行すればよいでしょうか?

ホット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)

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。
