วันอาทิตย์ที่ 9 กันยายน พ.ศ. 2555

php pdo

วิธีการใช้งาน php pdo แบบง่ายๆ ครับ php pdo class จะมีคำสั่งช่วยในการป้องกัน sql injection และคำสั่งการดึงข้อมูลที่หลากหลาย ช่วยให้สะดวกในการเขียนโปรแกรมติดต่อกับ database ครับ
/*
CREATE TABLE `tbcontact` (
        `id` INT(4) NOT NULL AUTO_INCREMENT,
        `name` VARCHAR(50) NULL DEFAULT NULL,
        PRIMARY KEY (`id`)
)
ENGINE=MyISAM
*/

//configuration
$dbname = 'test';
$user = 'root';
$pass = '';

try{
    //connect    
    $db = new PDO("mysql:host=localhost;dbname=$dbname;", $user, $pass, array(
        PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES UTF8'
    ));
}catch (Exception $e){
    echo 'error:'.$e->getMessage();
}

//insert
$stmt = $db->prepare('insert into tbcontact(name) values(:name)');    
$stmt->bindValue(':name','nobita');
$stmt->execute();

$info = $stmt->errorInfo();
if ($info[0]=='0000')
    echo 'no error';
else
    echo 'error: '.$info[2];

//select
echo '<hr /><h1>FETCH TO OBJECT</h1>';
$stmt = $db->query('SELECT id,name from tbcontact',PDO::FETCH_OBJ);
foreach($stmt as $row) {
    echo $row->id,'...',$row->name,'<br','>';
}

echo '<hr /><h1>FETCH TO ARRAY</h1>';
$stmt = $db->query('SELECT id,name from tbcontact',PDO::FETCH_ASSOC);
while($row = $stmt->fetch()) {
    echo $row['id'],'...',$row['name'],'<br','>';
}

echo '<hr /><h1>FETCH TO VARIABLE</h1>';
$stmt = $db->query('SELECT id,name from tbcontact',PDO::FETCH_BOUND);
$stmt->bindColumn('id',$id);
$stmt->bindColumn('name',$name);
while($row = $stmt->fetch()) {
    echo $id,'...',$name,'<br','>';
}

echo "column count = {$stmt->columnCount()}, row count= {$stmt->rowCount()}";

ไม่มีความคิดเห็น:

แสดงความคิดเห็น