関数でpdoを操作する方法

WBOY
リリース: 2016-06-23 14:40:08
オリジナル
1229 人が閲覧しました

コードは次のとおりです

require("../inc/pdo.php");function output($action,$select,$name){$select=$dbc->prepare("select id,ztname,zttype,zttime,headimg,riseimg from naszt where 1=1 and zttype=:zttype");$select->bindValue(":zttype",$action);$select->execute();$result='';while($row=$select->fetch()){$result.='<ul id="thumbs"><li class="'.$name.'">';$result.='<div class="img-container">';$result.='<div class="item-img">';$result.='<img src="ztImg/'.$row['riseimg'].'"width=235 height=300/></div><ul>';$result.='<li><a href="portfolio-single.html" class="view">测试1</a></li>';$result.='<li><a href='.$row['headimg'].' class="preview" data-rel="prettyPhoto[web]">测试12</a></li></ul></div><div class="item-info">';$result.='<h3 class="title">'.$row['ztname'].'</h3>';$result.='<span class="category">'. $row['zttype'].'</span>';	$result.='<p class="intro">1推荐日期:'.$row['zttime'].'</p></div></li>';	}return $result;}
ログイン後にコピー


<?phpheader("Content-Type:text/html;charset=utf-8");$dbtype='mysql';$host='127.0.0.1';$dbName='nas';$user='227227';$pass='227227';$db="$dbtype:host=$host;dbname=$dbName";try{$dbc=new PDO($db,$user,$pass);$dbc->exec('SET CHARACTER SET utf8');$dbc->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); //禁用prepared statements的仿真	}catch(PDOException $e){echo $e->getMessage();}?>
ログイン後にコピー


function で pdo を呼び出したいです
pdo でクラスを作成し、function はこのクラスを継承する必要がありますか?

書き方についてアドバイスをお願いします!


ディスカッションに返信(解決策)

グローバルに基づいていない場合

pdo クラス ファイルを含み、クラスをインスタンス化し、パラメータを与えます。

pdo クラス ファイルが含まれ、クラスをインスタンス化し、パラメーターを与えます。
さて、SQL を pdo と結合する方法についてお聞きしたいのですが、たとえば、1=1 と tile=null は値がなければ無視されます

これをご覧になることをお勧めします。 http://php.xlxz.org/2013/ 11/370/

<?php include 'sql_build_query.php';include 'pdo_query.php';$db     = new pdo_db; $sql    = $db->pdo_query('show databases '); var_dump( $sql, $db->dbVersion() ); exit; $sql    = $db->select( 'i.kd k, io.id dk, iil.ii ds' )->from( 'test t' )        ->leftjoin( 'post p', 't.id = ?', array( 2 ) )        ->order( 'name DESC, id ASC'  )        ->where( array( 'xin = ? AND do > ?' => array( 1,3 )))        ->having( array('xin' => 'dkls' ))        ->group( 'id' )        ->limit( 3,4 )        ->queryAll();exit;//var_dump( $sql ); $sql    = $db->from( 'test')        ->insert( array( 'kd' => '233', 'dkwe' => 323 )); $sql    = $db->from( 'test' )        ->where( array( '( dk = ? and kd > ?) or ( dk = ? and ddd = ?)' => array( 2,3,5,4 )))        ->limit( 2 , 4 )        ->update( array( 'dkddl' => 'd', 'kdls' => 'dkdl' )); $sql    = $db->from( 'test,test' )        ->select( 'test,test' )        ->where( array( 'id' => array( 3,3,4,2,3) ))        ->limit( '3', 3)        ->delete();
ログイン後にコピー

pdo クラス ファイルが含まれ、クラスをインスタンス化し、パラメーターを与えます。
さて、SQL と PDO を結合する方法を聞きたいのですが、たとえば、where 1=1 と tile=null に値がない場合は無視してください

WHere の後に変数を入力し、必要に応じて値を代入するだけです

必要に応じて
$ where=" WHERE xxxx=xxx";
それ以外の場合は
$where=""


$SQL="SELECT * FROM XXX $where";

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート