1.データベースアクセス方法
最初のストレージ
テーブルを保存するときに使用します
例:
$post=new Post;
$post-> ;title='サンプル投稿';
$post->content='サンプル投稿のコンテンツ';
$post->createTime=time();/$post->createTime=newCDbexpression_r('NOW()') ;
$post->save();
$user_field_data= 新しい user_field_data;
$user_field_data->flag=0;
$user_field_data->user_id=$profile->id;
$user_field_data->field_id =$_POST['emailhiden'];
$user_field_data->value1=$_POST['email'];
$user_field_data->save();
注 テーブルが 4 回保存されると、必須 4 つのハンドルを 4 回新規作成します
2 番目のタイプを保存します
保存後、このレコードのシリアル ID を見つける必要があります。これを行う $profile = new profile;$profile->id;
同じテーブルに 2 つのレコードを格納できるように変数の型をバインドするより安全な方法として 3 番目の
を格納します
$sql="insert intouser_field_data (user_id,field_id,flag,value1)values(:user_id,:field_id,:flag,:value1);";
$command=user_field_data::model()->dbConnection->createCommand($sql);
$command->bindParam(":user_id",$profile->id,PDO::PARAM_INT);
$command->bindParam(":field_id",$_POST['firstnamehiden'],PDO:: PARAM_INT) );
$command->bindParam(":flag",$tmpflag,PDO::PARAM_INT);
$command->bindParam(":value1",$_POST['firstname'],PDO::PARAM_STR ) ;
$command->execute();
$command->bindParam(":user_id",$profile->id,PDO::PARAM_INT);
$command->bindParam(":field_id" , $_POST['emailhiden'],PDO::PARAM_INT);
$command->bindParam(":flag",$tmpflag,PDO::PARAM_INT);
$command->bindParam(":value1", $ _POST['email'],PDO::PARAM_STR);
$rowchange =$command->execute();
if( $rowchange != 0){ 変更が成功しました}//
の判断に使用されます注: あなたを更新しますこのメソッドを使用して削除できます
$sql="プロファイルから削除 whereid=:id";
$command=profile::model()->dbConnection->createCommand($sql);
$command-> bindParam(":id",$userid,PDO::PARAM_INT);
$this->rowflag=$command->execute();
$sql="プロファイルの更新 setpass=:pass,role=:role ここでid=:id";
$command=profile::model()->dbConnection->createCommand($sql);
$command->bindParam(":pass",$password,PDO::PARAM_STR) ;
$command->bindParam(":role",$role,PDO::PARAM_INT);
$command->bindParam(":id",$userid,PDO::PARAM_INT);
$this-> ;rowflag=$command->execute();
//同様に updateAll() モードを変更します
$sql="update user_field_data set flag =:flag where user_id= :user_id and field_id= :field_id ";
元の SQL ステートメント
$criteria = newCDbCriteria;
$criteria->condition ='user_id = :user_id および field_id= :field_id';
$criteria->params =array(':user_id' => $user_id,':field_id' => $fieldid);
$arrupdate = array('flag'=> $flag);
if(user_field_data::model()->updateAll($arrupdate,$criteria)!= 0)
{
アップデートが成功した後。 。 。
}
4 番目の更新およびストレージ アプリケーションは同じハンドル プロセスを使用します:
最初にレコードが存在するかどうかをクエリし、存在する場合は更新し、存在しない場合は作成します
注: 1.最初のクエリは、save() の前の変数と同じである必要があります。 2. 保存するときは、再度ライブラリオブジェクトを新規作成する必要があります
$user_field_data =user_field_data::model()->findByAttributes(
$attributes = array('user_id'=> ;Yii::app()->user->user_id, 'field_id'=> $key));
if($user_field_data !== null)
{
$user_field_data- >value1= $value;
$user_field_data->save();
}
else
{
$user_field_data= 新しい user_field_data;
$user_field_data->user_id= Yii::app()->user-> ;user_id;
$user_field_data- >field_id= $key;
$user_field_data->value1= $value;
$user_field_data->save();
}
Query
注:プロジェクトはオブジェクト全体を見つけませんが、空の場合は次のように決定する必要があります
if($rows !== null) オブジェクトが空でない場合
{
returntrue;
}else{
returnfalse;
}
SELECT
テーブルを読み取るときに使用します
例:
最初のfind( )
// 指定された条件を満たす最初の行を検索します
$post=Post::model()->find($condition,$params) ;
// postID=10 の行を検索します
$post=Post::model()->find('postID=:postID',array(':postID'=>10));
同じステートメント、別の手段を使用します
$criteria=new CDbCriteria;
$criteria->select='title';// 'title' 列のみを選択します
$criteria->condition='postID=:postID';
$criteria- > ;params=array(':postID'=>10);
$post=Post::model()->find($criteria);// $params は必要ありません
Second find( )
$post=Post::model()->find(array(
'select'=>'title',
'condition' => 'postID=:postID',
'params'=>array(':postID'=>10),
));
// 指定された主キーを持つ行を検索します
$post=Post:: model() ->findByPk($postID,$condition,$params);
// 指定された属性値を持つ行を検索します
$post=Post::model()->findByAttributes($attributes,$condition,$ params);
例:
最初の findByAttributes()
$checkuser= user_field_data::model()->findByAttributes(
array('user_id' =>Yii::app()->user -> ;user_id, 'field_id'=> $fieldid));
2 番目のタイプ findByAttributes()
$checkuser =user_field_data::model()->findByAttributes(
$attributes = array('user_id'= > Yii::app()->user->user_id, 'field_id'=> $fieldid));
3 番目の方法は、条件がない場合、パラメータは必要ありません
$user_field_data= user_field_data::model()- >findAllByAttributes(
$attributes = array('user_id'=> ':user_id'),
$condition = "field_id in(:fields)",
$params = array(': user_id'=>Yii: :app()->user->user_id, ':fields'=> "$rule->dep_fields"));
// 指定された SQLstatement を使用して最初の行を検索します
$post=Post::model ()->findBySql($sql,$params);
例
user_field_data::model()->findBySql("selectid from user_field_data where user_id = :user_id and field_id =:field_id " , array(':user_id' =>$userid,':field_id'=>$fieldid));
この時に返されるのはオブジェクトです
4つ目の方法は他の条件を追加する方法です
http:/ /www.yiiframework.com/doc/api /CDbCriteria#limit-detail
$criteria = newCDbCriteria;
$criteria->select='newtime';//表示するフィールドのみを選択します。ライブラリですが、
$criteria->join = 'LEFT JOINPost ON Post.id=Date.id';//1 のように名前として COUNT(newtime) を記述することはできません。まず、Post テーブルとの関係ステートメントを追加します。関係関数 2.Date::model()->with ('post')->findAll($criteria)
$criteria->group ='newtime';
$criteria->limit = 2; //すべて 0 から始まり、いくつか選択します
$criteria- >offset = 2;//どのオフセットから開始するか
print_r(Date::model()->findAll($criteria));
番号を取得します行数またはその他の数値 count
// 指定された条件を満たす行数を取得します
$n=Post::model()->count($condition,$params);
// 指定された SQL を使用して行数を取得しますstate
$n=Post::model()->countBySql ($sql,$params);
// 指定された条件を満たす行が少なくとも 1 つあるかどうかを確認します
$exists=Post::model()-> ;exists($condition,$params);
UPDATE
例:
$post=Post::model()->findByPk(10) ;
$post->title='new posttitle';
$post-> ;save(); // 変更をデータベースに保存します
// 指定された条件に一致する行を更新します
Post::model()-> updateAll($attributes,$condition,$params);
例: または上記の例を参照してください
$c=new CDbCriteria;
$c ->condition='something=1';
$c->limit=10;
$a=array ('name'=>'NewName');
Post::model()->updateAll( $a,$c);
// 指定された条件と主キーに一致する行を更新します
Post::model()->updateByPk($pk,$attributes,$condition,$params);
例子
$profile =profile::model()->updateByPk(
Yii::app()->user->user_id,
$attributes = array('pass' =>md5($_POST['password']), 'role' => 1));
// 指定された条件を満たす行内のカウンター列を更新します
Post::model()-> ;updateCounters($counters,$condition,$params);
DELETE
例子:
$post=Post::model()->findByPk( 10);// ID が 10 の投稿があると仮定します
$post->delete(); // データベーステーブルから行を削除します
// 指定された条件に一致する行を削除します
Post::model()->deleteAll($condition,$params);
// 指定された条件と主キーに一致する行を削除します)
Post::model()->deleteByPk($pk,$condition,$params);
COMPARE
目前に取り出せる
1.//$allquestion=field::model()-> ;findAllBySql("selectlabel from field where step_id = :time1 ", array(':time1'=>1));
2. //$criteria=新しい CDbCriteria;
//$criteria->select='label,options';
//$criteria->condition='step_id=:postID';
//$criteria->params =array(':postID'=>1);
//$allquestion=field::model()->findAll($criteria);
//$allquestion=field::model()->find ("",array("label"));
モデルファイル内の関連ファイルrelations()関数と組み合わせて使用できます。これは
$criteria=newCDbCriteria;
$criteria->condition='field .step_id=1';
$this->_post=field::model()->with('step')->findAll($criteria);
これで達成された数集合里面に含まれるステップ表内の值そして、この条件は、step.id=field.step_id
public functionrelations()
{
return array(
'step'=>array(self::BELONGS_TO,'step', 'step_id'),
)です。 ;
}

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

Dreamweaver Mac版
ビジュアル Web 開発ツール
