mysql に対する thinkphp の CURD 操作

WBOY
リリース: 2016-06-20 12:41:37
オリジナル
757 人が閲覧しました

thinkphp (3.2.3) を使用してデータベースを操作するには、まずデータベースに接続する必要があります。特定のデータベースの構成ファイルを記述する必要があります。thinkphp は構成ファイルに基づいてデータベースに自動的に接続します。モデル ファイルをカスタマイズする必要はありません。組み込みのモデル ファイルで問題を解決できます。設定ファイルはディレクトリ applicationhomeconfconfig.php に書き込まれます:

<?phpreturn array(//'配置项'=>'配置值''DB_TYPE'=> 'mysql',//数据库类型'DB_HOST'=> '127.0.0.1',//服务器地址'DB_NAME'=>'jiu151231',//数据库名称'DB_USER'=>'root',//用户名'DB_PWD'=>'',//密码'DB_PORT'=>'3306',//端口'DB_PREFIX'=>'',//数据库表前缀);
ログイン後にコピー

この時点で準備は完了です。その中で、データベーステーブルのプレフィックスについては、デフォルトについてはインターネット上でさまざまな意見がありますが、私のデフォルトは空です。 phpmyadmin を開くと他のプレフィックスが表示されると思います。

CURD オペレーション コードはすべて、コントローラー ファイルである applicationhomecontrollerindexcontroller.class.php ディレクトリにあります。以下はすべて M メソッドを使用してテーブル オブジェクトをインスタンス化します。

C

データの挿入

<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function index(){        $jiu0=M('myguests');        $j0['firstname']='lv';        $j0['lastname']='oe';        $jiu0->add($j0);    }}
ログイン後にコピー

複数のデータの挿入

<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function index(){        $jiu0=M('myguests');        $list[]=array('firstname'=>'li','lastname'=>'weifeng');        $list[]=array('firstname'=>'liu','lastname'=>'tian');        $jiu0->addAll($list);    }}
ログイン後にコピー

R

単一レコードの読み取り検索メソッドreturns 条件を満たす最初のレコード

<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function index(){        $gu=M('myguests');        $data=$gu->where('firstname="lv"')->find();        dump($data);    }}
ログイン後にコピー
<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function index(){        $gu=M('myguests');        $gu->where('firstname="lv"')->find();        dump($gu->data());    }}
ログイン後にコピー

複数データの読み込み select メソッド。クエリエラーが発生した場合、select の戻り値は false になります。クエリ結果が空の場合は、NULL が返されます。それ以外の場合は 2 次元配列を返します。

<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function index(){        $gu = M("myguests");        $list = $gu->where('firstname="lv"')->order('id')->limit(5)->select();//返回5条数据        dump($list);    }}
ログイン後にコピー

フィールド値の読み取り

<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function index(){        $gu = M("myguests");        $list = $gu->where('id=5')->getField('firstname');        dump($list);    }}
ログイン後にコピー
<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function index(){        $gu = M("myguests");        $list = $gu->getField('id',true);//返回整列        dump($list);    }}
ログイン後にコピー
<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function index(){        $gu = M("myguests");        $list = $gu->getField('id,firstname',5);//返回多列,5条记录        dump($list);    }}
ログイン後にコピー

U

save メソッド

<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function index(){        $gu = M("myguests");        $data['firstname']='liu';        $data['lastname']='hl';        $gu->where('id=5')->save($data);    }}
ログイン後にコピー
<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function index(){        $gu = M("myguests");        $gu->firstname='liu';        $gu->lastname='hl';        $gu->where('id=6')->save();    }}
ログイン後にコピー

フィールドの更新

<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function index(){        $gu = M("myguests");        $gu->where('id=6')->setField('firstname','wang');    }}
ログイン後にコピー

複数のフィールドの更新

<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function index(){        $gu = M("myguests");        $data=array('firstname'=>'lv','lastname'=>'huan');        $gu->where('id=1')->setField($data);    }}
ログイン後にコピー

統計フィールド (通常は数値型) を更新するために、システムは setInc メソッドと setDec メソッドも提供します。

$User = M("User"); // 实例化User对象$User->where('id=5')->setInc('score',3); // 用户的积分加3$User->where('id=5')->setInc('score'); // 用户的积分加1$User->where('id=5')->setDec('score',5); // 用户的积分减5$User->where('id=5')->setDec('score'); // 用户的积分减1
ログイン後にコピー

バージョン 3.2.3 以降、setInc メソッドと setDec メソッドは遅延更新をサポートします。使用方法は次のとおりです:

$Article = M("Article"); // 实例化Article对象$Article->where('id=5')->setInc('view',1); // 文章阅读数加1$Article->where('id=5')->setInc('view',1,60); // 文章阅读数加1,并且延迟60秒更新(写入)
ログイン後にコピー

D

delete メソッド

<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function index(){        $gu = M("myguests");        $gu->delete(2);//删除主键2对应的记录    }}
ログイン後にコピー

delete メソッドは、削除条件に応じて、単一のデータまたは複数のデータを削除できます。例:

$User = M("User"); // 实例化User对象$User->where('id=5')->delete(); // 删除id为5的用户数据$User->delete('1,2,5'); // 删除主键为1,2和5的用户数据$User->where('firstname="lv"')->delete(); // 删除所有firstname为"lv"的用户数据
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!