PHP Pdo Syntax
PHP Pdo Syntax
PHP Pdo Syntax
PDO
PHP PDO Connection
PDO Connection to connect to the MySQL server.
Syntax PDO connection
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
Example 1: Use try and catch block
<?php
t r y {
$db = new PDO( ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' , ' user 2000' ,
' passwor d2000' ) ;
echo ' connect ' ;
} cat ch ( PDOExcept i on $e) {
echo $e- >get Message( ) ;
}
?>
PHP PDO Create Table
Create A table uses $db->query($table).
Syntax PDO Create Table
$sql = "CREATE TABLE I F NOT EXI STS user _i nf or (
i d I NT NOT NULL AUTO_I NCREMENT PRI MARY KEY,
f i r st _name VARCHAR( 200) NOT NULL,
l ast _name VARCHAR( 200) NOT NULL,
emai l VARCHAR( 200) NOT NULL) ";
$sq = $db- >quer y( $sql ) ;
Example 1
<?php
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sql = "CREATE TABLE I F NOT EXI STS user _i nf or (
i d I NT NOT NULL AUTO_I NCREMENT PRI MARY KEY,
f i r st _name VARCHAR( 200) NOT NULL,
l ast _name VARCHAR( 200) NOT NULL,
emai l VARCHAR( 200) NOT NULL
) ";
$sq = $db- >quer y( $sql ) ;
i f ( $sq) {
echo ' cr eat ed' ;
}
?>
2
PHP PDO FETCH NUM
PDO::FETCH_NUM produces a numerical index.
Syntax PDO
$sq = $db- >quer y( "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ") ;
whi l e ( $r = $sq- >f et ch( PDO: : FETCH_NUM) ) {
echo $r [ 0] ; / / i d
echo "<br / >";
echo $r [ 1] ; / / f i r st name
echo "<br / >";
echo $r [ 2] ; / / l ast name
echo "<br / >";
echo $r [ 3] ; / / emai l
echo "<br / >";
}
Example 1
<?php
/ / f et ch as NUM
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sq = $db- >quer y( "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ") ;
echo ' <t abl e bor der ="1">' ;
echo ' <t r >
<t h>I d</ t h>
<t h>Fi r st Name</ t h>
<t h>Last Name</ t h>
<t h>Emai l </ t h>
</ t r >' ;
/ / access r ecor d as i ndex
whi l e ( $r = $sq- >f et ch( PDO: : FETCH_NUM) ) {
echo ' <t r >' ;
echo ' <t d>' . $r [ 0] . ' </ t d>' ;
echo ' <t d>' . $r [ 1] . ' </ t d>' ;
echo ' <t d>' . $r [ 2] . ' </ t d>' ;
echo ' <t d>' . $r [ 3] . ' </ t d>' ;
echo ' </ t r >' ;
}
echo ' </ t abl e>' ;
?>
PHP PDO Connection with custom function
Create a custom function for PDO connect.
Syntax PDO connect function
/ / cr eat e f unct i on
f unct i on pdo_connect ( ) {
t r y {
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
3
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
r et ur n $db;
} cat ch ( PDOExcept i on $e) {
echo $e- >get Message( ) ;
r et ur n f al se;
}
}
/ / connect
$dbh = pdo_connect ( ) ;
Example 1: Use function
<?php
f unct i on pdo_connect ( ) {
t r y {
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
r et ur n $db;
} cat ch ( PDOExcept i on $e) {
echo $e- >get Message( ) ;
r et ur n f al se;
}
}
/ / make connect i on uses f unct i on
$r esul t = pdo_connect ( ) ;
i f ( $r esul t ) {
echo ' connect ed' ;
}
?>
PHP PDO Insert Use Query
Use query to insert a new record.
Syntax PDO Insert
$sql = ' I NSERT I NTO user _i nf or ( i d, f i r st _name, l ast _name, emai l )
VALUES( nul l , "bob", "l ema", "bob@gmai l . com") ' ;
$sq = $db- >quer y( $sql ) ;
Example 1
<?php
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sql = ' I NSERT I NTO user _i nf or ( i d, f i r st _name, l ast _name, emai l )
VALUES ( nul l , "bob", "l ema", "bob@gmai l . com") ' ;
$sq = $db- >quer y( $sql ) ;
4
i f ( $sq) {
echo ' I nser t ed: ' . $db- >l ast I nser t I d( ) ;
}
?>
PHP PDO Insert Record with question mark place holder
Use question mark place holder to insert a new record.
Syntax PDO
$sql = "I NSERT I NTO user _i nf or ( f i r st _name, l ast _name, emai l ) VALUE( ?, ?, ?) ";
$sq = $db- >pr epar e( $sql ) ;
$f i r st _name = ' Al ex' ;
$l ast _name = ' Gat e' ;
$emai l = ' al l get egat e@gmai l . com' ;
$sq- >execut e( ar r ay( $f i r st _name, $l ast _name, $emai l ) ) ;
Example 1
<?php
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sql = "I NSERT I NTO user _i nf or ( f i r st _name, l ast _name, emai l ) VALUE( ?, ?, ?) ";
$sq = $db- >pr epar e( $sql ) ;
$f i r st _name = ' Al ex' ;
$l ast _name = ' Gat e' ;
$emai l = ' al l get egat e@gmai l . com' ;
i f ( $sq- >execut e( ar r ay( $f i r st _name, $l ast _name, $emai l ) ) ) {
echo ' Successf ul l y i nser t r ecor d <br / >' ;
echo "i nser t _i d ". $db- >l ast I nser t I d( ) ;
} el se {
echo ' Fai l ed t o i nser t r ecor d <br / >' ;
}
?>
PHP PDO Insert with name placeholder and an associative array
Use an associative array for a name place holder to insert a new record.
Syntax PDO Insert
$sql = "I NSERT I NTO user _i nf or ( f i r st _name, l ast _name, emai l )
VALUE( : f i r st , : l ast , : emai l ) ";
$sq = $db- >pr epar e( $sql ) ;
$i nser t _ar r ay[ ' f i r st ' ] = ' Geor ge' ;
$i nser t _ar r ay[ ' l ast ' ] = ' Washi ngt on' ;
5
$i nser t _ar r ay[ ' emai l ' ] = ' gw@abc. com' ;
$sq- >execut e( $i nser t _ar r ay) ;
Example 1
<?php
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sql = "I NSERT I NTO user _i nf or ( f i r st _name, l ast _name, emai l )
VALUE( : f i r st , : l ast , : emai l ) ";
$sq = $db- >pr epar e( $sql ) ;
$i nser t _ar r ay[ ' f i r st ' ] = ' Geor ge' ;
$i nser t _ar r ay[ ' l ast ' ] = ' Washi ngt on' ;
$i nser t _ar r ay[ ' emai l ' ] = ' gw@abc. com' ;
i f ( $sq- >execut e( $i nser t _ar r ay) ) {
echo ' Successf ul l y i nser t r ecor d <br / >' ;
echo "i nser t _i d " . $db- >l ast I nser t I d( ) ;
} el se {
echo ' Fai l ed t o i nser t r ecor d <br / >' ;
}
?>
PHP PDO::FETCH_ASSOC Fetches records as associative array
PDO:FETCH_ASSOC fetches records as an associative array.
Syntax PDO Fetch Associative Array
$sq = $db- >quer y( "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ") ;
$r = $sq- >f et ch( PDO: : FETCH_ASSOC) ;
Example 1
<?php
/ / f et ch as associ at i ve ar r ay
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sq = $db- >quer y( "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ") ;
echo ' <t abl e bor der ="1">' ;
echo ' <t r >
<t h>I d</ t h>
<t h>Fi r st Name</ t h>
<t h>Last Name</ t h>
<t h>Emai l </ t h>
</ t r >' ;
6
whi l e ( $r = $sq- >f et ch( PDO: : FETCH_ASSOC) ) {
echo ' <t r >' ;
echo ' <t d>' . $r [ ' i d' ] . ' </ t d>' ;
echo ' <t d>' . $r [ ' f i r st _name' ] . ' </ t d>' ;
echo ' <t d>' . $r [ ' l ast _name' ] . ' </ t d>' ;
echo ' <t d>' . $r [ ' emai l ' ] . ' </ t d>' ;
echo ' </ t r >' ;
}
echo ' </ t abl e>' ;
?>
PHP PDO Fetch Records AS Object
Fetch records as object.
Syntax PDO
$sq = $db- >quer y( "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ") ;
$r = $sq- >f et ch( PDO: : FETCH_OBJ ) ;
Example 1
<?php
/ / f et ch as obj ect
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sq = $db- >quer y( "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ") ;
echo ' <t abl e bor der ="1">' ;
echo ' <t r >
<t h>I d</ t h>
<t h>Fi r st Name</ t h>
<t h>Last Name</ t h>
<t h>Emai l </ t h>
</ t r >' ;
whi l e ( $r = $sq- >f et ch( PDO: : FETCH_OBJ ) ) {
echo ' <t r >' ;
echo ' <t d>' . $r - >i d . ' </ t d>' ;
echo ' <t d>' . $r - >f i r st _name . ' </ t d>' ;
echo ' <t d>' . $r - >l ast _name . ' </ t d>' ;
echo ' <t d>' . $r - >emai l . ' </ t d>' ;
echo ' </ t r >' ;
}
echo ' </ t abl e>' ;
?>
PHP PDO Fetch Records and Bind Column with Variable
Fetch Record uses bindColumn to bind with a variable.
7
Syntax PDO bindColumn
$sql = "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ";
$sq_st at = $db- >pr epar e( $sql ) ;
$sq_st at - >execut e( ) ;
/ / bi nd col umn t o var i abl e f or di spl ay
$sq_st at - >bi ndCol umn( 1, $i d) ;
$sq_st at - >bi ndCol umn( 2, $f i r st name) ;
$sq_st at - >bi ndCol umn( 3, $l ast name) ;
$sq_st at - >bi ndCol umn( 4, $emai l ) ;
whi l e ( $sq_st at - >f et ch( ) ) {
echo $i d. ' - ' . $f i r st name. ' - ' . $l ast nmae. ' - ' . $emai l . ' <br / >' ;
}
Example 1
<?php
/ / bi nd col umn t o var i abl e
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sql = "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ";
$sq_st at = $db- >pr epar e( $sql ) ;
$sq_st at - >execut e( ) ;
/ / bi nd col umn t o var i abl e f or di spl ay
$sq_st at - >bi ndCol umn( 1, $i d) ;
$sq_st at - >bi ndCol umn( 2, $f i r st name) ;
$sq_st at - >bi ndCol umn( 3, $l ast name) ;
$sq_st at - >bi ndCol umn( 4, $emai l ) ;
echo ' <t abl e bor der ="1">' ;
echo ' <t r >
<t h>I d</ t h>
<t h>Fi r st Name</ t h>
<t h>Last Name</ t h>
<t h>Emai l </ t h>
</ t r >' ;
whi l e ( $sq_st at - >f et ch( ) ) {
echo ' <t r >' ;
echo ' <t d>' . $i d . ' </ t d>' ;
echo ' <t d>' . $f i r st name . ' </ t d>' ;
echo ' <t d>' . $l ast name . ' </ t d>' ;
echo ' <t d>' . $emai l . ' </ t d>' ;
echo ' </ t r >' ;
}
echo ' </ t abl e>' ;
?>
8
PHP PDO FETCH BOTH
PDO::FETCH_BOTH fetches both numerical and associative indexes.
Syntax PDO::FETCH_BOTH
$sq = $db- >quer y( "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ") ;
whi l e ( $r = $sq- >f et ch( PDO: : FETCH_BOTH) ) {
pr i nt _r ( $r ) ;
}
Example 1
<?php
/ / f et ch as bot h numer i cal and associ at i ve i ndexes
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sq = $db- >quer y( "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ") ;
whi l e ( $r = $sq- >f et ch( PDO: : FETCH_BOTH) ) {
pr i nt _r ( $r ) ;
}
?>
Output
Ar r ay
(
[ i d] => 1
[ 0] => 1
[ f i r st _name] => bob
[ 1] => bob
[ l ast _name] => l ema
[ 2] => l ema
[ emai l ] => bob@gmai l . com
[ 3] => bob@gmai l . com
)
Ar r ay
(
[ i d] => 2
[ 0] => 2
[ f i r st _name] => Al ex
[ 1] => Al ex
[ l ast _name] => Gat e
[ 2] => Gat e
[ emai l ] => al l get egat e@gmai l . com
[ 3] => al l get egat e@gmai l . com
)
Ar r ay
(
[ i d] => 3
[ 0] => 3
[ f i r st _name] => Geor ge
9
[ 1] => Geor ge
[ l ast _name] => Washi ngt on
[ 2] => Washi ngt on
[ emai l ] => gw@abc. com
[ 3] => gw@abc. com
)
PHP PDO FETCH_CLASS
PDO::FETCH_CLASS fetches records to class. By fetch record into class directly, we can
manipulate records accordingly and return result. As the record fields will fetch into the class
property.
Syntax PDO::FETCH_CLASS
/ / cl ass
cl ass user {
/ / access t he r ecor d as obj ect
publ i c f unct i on di spl ay( ) {
echo $t hi s- >i d;
echo "<br / >";
echo $t hi s- >f i r st _name;
echo "<br / >";
echo $t hi s- >l ast _name;
echo "<br / >";
echo $t hi s- >emai l ;
echo "<br / >";
}
}
$sql = "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ";
$sq = $db- >quer y( $sql ) ;
/ / $r esul t = $sq- >f et chALL( PDO: : FETCH_CLASS, ' user ' ) ;
f or each ( $sq- >f et chAl l ( PDO: : FETCH_CLASS, ' user ' ) as $r ) {
$r - >di spl ay( ) ; / / cal l t he cl ass met hod
}
Example 1
<?php
/ / cl ass
cl ass user {
publ i c f unct i on di spl ay( ) {
echo ' <t r >' ;
echo ' <t d>' . $t hi s- >i d . ' </ t d>' ;
echo ' <t d>' . $t hi s- >f i r st _name . ' </ t d>' ;
echo ' <t d>' . $t hi s- >l ast _name . ' </ t d>' ;
echo ' <t d>' . $t hi s- >emai l . ' </ t d>' ;
echo ' </ t r >' ;
}
}
/ / end cl ass
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
10
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sql = "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ";
$sq = $db- >quer y( $sql ) ;
/ / $r esul t = $sq- >f et chALL( PDO: : FETCH_CLASS, ' user ' ) ;
echo ' <t abl e bor der ="1">' ;
echo ' <t r >
<t h>I d</ t h>
<t h>Fi r st Name</ t h>
<t h>Last Name</ t h>
<t h>Emai l </ t h>
</ t r >' ;
f or each ( $sq- >f et chAl l ( PDO: : FETCH_CLASS, ' user ' ) as $r ) {
$r - >di spl ay( ) ;
}
echo ' </ t abl e>' ;
?>
Example 2
<?php
cl ass user {
publ i c f unct i on __t oSt r i ng( ) {
r et ur nspr i nt f ( "I d: %s <br / >
Fi r st Name: %s <br / >
Last Name: %s <br / >
Emai l : %s <br / >",
$t hi s- >i d,
$t hi s- >f i r st _name,
$t hi s- >l ast _name,
$t hi s- >emai l ) ;
}
}
$db = new PDO( ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' , ' user 2000' ,
' passwor d2000' ) ;
$sq = $db- >quer y( "SELECT * FROM user _i nf or ", PDO: : FETCH_CLASS, ' user ' ) ;
whi l e( $r ow = $sq- >f et ch( ) ) {
echo "$r ow <br / >";
}
?>
PHP PDO::FETCH_FUNC for fetch records to function
PDO::FETCH_FUNC fetches records to user define function can be very useful when you want to
manipulate the result.
11
Syntax PDO
/ / f unct i on
f unct i on peopl e_i nf o( $i d, $f i r st , $l ast , $emai l ) {
mani pul at e r ecor d her e wi t hi n t he f unct i on body
. . .
}
$sq = $db- >quer y( "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ") ;
f or each ( $sq- >f et chAl l ( PDO: : FETCH_FUNC, ' peopl e_i nf o' ) as $r ) {
echo $r ; / / di spl ay t he r et ur n f unct i on af t er mani pul at e r ecor ds
}
Example 1
<?php
/ / f unct i on
f unct i on peopl e_i nf o( $i d, $f i r st , $l ast , $emai l ) {
echo ' <t r >' ;
echo ' <t d>' . $i d . ' </ t d>' ;
echo ' <t d>' . $f i r st . ' </ t d>' ;
echo ' <t d>' . $l ast . ' </ t d>' ;
echo ' <t d>' . $emai l . ' </ t d>' ;
echo ' </ t r >' ;
}
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sq = $db- >quer y( "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ") ;
echo ' <t abl e bor der ="1">' ;
echo ' <t r >
<t h>I d</ t h>
<t h>Fi r st Name</ t h>
<t h>Last Name</ t h>
<t h>Emai l </ t h>
</ t r >' ;
f or each ( $sq- >f et chAl l ( PDO: : FETCH_FUNC, ' peopl e_i nf o' ) as $r ) {
echo $r ;
}
echo ' </ t abl e>' ;
?>
PHP PDO::FETCH_INTO
PDO:FETCH_INTO allows us to fetch data into an existing instance of a class directly. It is similar
to the PDO::FETCH_CLASS, as the field names are mapped directly to the class property.
PDO::FETCH_INTO can fetch into public property only.
12
Syntax PDO::FETCH_INTO
/ / cl ass
cl ass user {
publ i c $i d;
publ i c $f i r st _name;
publ i c $l ast _name;
publ i c $emai l ;
publ i c f unct i on sendEmai l ( $message) {
echo $message . ' send t o ' . $t hi s- >emai l ;
}
publ i c f unct i on sayHi ( $message) {
echo ' Hel l o ' . $t hi s- >f i r st _name . ' ' . $t hi s- >l ast _name . ' <br / >' ;
echo $message;
echo ' <br / >' ;
}
}
db = new PDO( $dns, $user , $pass) ;
$sql = "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ";
$sq = $db- >quer y( $sql , PDO: : FETCH_I NTO, new user ( ) ) ;
Example 1
<?php
/ / cl ass
cl ass user {
publ i c $i d;
publ i c $f i r st _name;
publ i c $l ast _name;
publ i c $emai l ;
publ i c f unct i on sendEmai l ( $message) {
echo $message . ' send t o ' . $t hi s- >emai l ;
}
publ i c f unct i on sayHi ( $message) {
echo ' Hel l o ' . $t hi s- >f i r st _name . ' ' . $t hi s- >l ast _name . ' <br / >' ;
echo $message;
echo ' <br / >' ;
}
}
/ / end cl ass
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sql = "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or ";
$sq = $db- >quer y( $sql , PDO: : FETCH_I NTO, new user ( ) ) ;
whi l e ( $r ow = $sq- >f et ch( ) ) {
13
echo ' i d: ' . $r ow- >i d . ' <br / >' ;
echo $r ow- >sayHi ( ' Good Mor ni ng' ) ;
}
?>
PHP PDO Name place holder and bindParam
The name place holder and bindParam use to select a specific record.
Syntax PDO
$sql = "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or WHERE i d
I N( : i d1, : i d2, : i d3) ";
$sq = $db- >pr epar e( $sql ) ;
/ / bi nd name pl ace hol der
$sq- >bi ndPar am( ' : i d1' , $i d1, PDO: : PARAM_I NT) ;
$sq- >bi ndPar am( ' : i d2' , $i d2, PDO: : PARAM_I NT) ;
$sq- >bi ndPar am( ' : i d3' , $i d3, PDO: : PARAM_I NT) ;
$sq- >execut e( ) ;
whi l e ( $r = $sq- >f et ch( PDO: : FETCH_NUM) ) {
. . .
}
Example 1
<?php
$i d1 = 1;
$i d2 = 2;
$i d3 = 3;
/ / f et ch as NUM
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sql = "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or WHERE i d
I N( : i d1, : i d2, : i d3) ";
$sq = $db- >pr epar e( $sql ) ;
/ / bi nd name pl ace hol der
$sq- >bi ndPar am( ' : i d1' , $i d1, PDO: : PARAM_I NT) ;
$sq- >bi ndPar am( ' : i d2' , $i d2, PDO: : PARAM_I NT) ;
$sq- >bi ndPar am( ' : i d3' , $i d3, PDO: : PARAM_I NT) ;
/ / check execut e st at ement
i f ( ! $sq- >execut e( ) ) {
echo "Er r or ! ";
}
echo ' <t abl e bor der ="1">' ;
echo ' <t r >
14
<t h>I d</ t h>
<t h>Fi r st Name</ t h>
<t h>Last Name</ t h>
<t h>Emai l </ t h>
</ t r >' ;
whi l e ( $r = $sq- >f et ch( PDO: : FETCH_NUM) ) {
echo ' <t r >' ;
echo ' <t d>' . $r [ 0] . ' </ t d>' ;
echo ' <t d>' . $r [ 1] . ' </ t d>' ;
echo ' <t d>' . $r [ 2] . ' </ t d>' ;
echo ' <t d>' . $r [ 3] . ' </ t d>' ;
echo ' </ t r >' ;
}
echo ' </ t abl e>' ;
?>
PHP PDO Select Records By Using Question Mark place holder
Query records by using Prepare and Execute Statements with the question mark place holder.
Syntax PDO Question mark place holder for select record
$sql = "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or WHERE i d
I N( ?, ?, ?) ";
$sq = $db- >pr epar e( $sql ) ;
$sq- >execut e( ar r ay( $i d1, $i d2, $i d3) ) ;
Example 1
<?php
$i d1 = 1;
$i d2 = 2;
$i d3 = 3;
/ / f et ch as NUM
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
$sql = "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or WHERE i d
I N( ?, ?, ?) ";
$sq = $db- >pr epar e( $sql ) ;
/ / check execut e st at ement
i f ( ! $sq- >execut e( ar r ay( $i d1, $i d2, $i d3) ) ) {
echo "Er r or ! ";
}
echo ' <t abl e bor der ="1">' ;
echo ' <t r >
<t h>I d</ t h>
15
<t h>Fi r st Name</ t h>
<t h>Last Name</ t h>
<t h>Emai l </ t h>
</ t r >' ;
whi l e ( $r = $sq- >f et ch( PDO: : FETCH_NUM) ) {
echo ' <t r >' ;
echo ' <t d>' . $r [ 0] . ' </ t d>' ;
echo ' <t d>' . $r [ 1] . ' </ t d>' ;
echo ' <t d>' . $r [ 2] . ' </ t d>' ;
echo ' <t d>' . $r [ 3] . ' </ t d>' ;
echo ' </ t r >' ;
}
echo ' </ t abl e>' ;
?>
Example 2
Using Binds parameter to variable for the question mark place holder.
$sql = "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or WHERE i d
I N( ?, ?, ?) ";
$sq = $db- >pr epar e( $sql ) ;
$sq- >bi ndPar am( 1, $i d1, PDO: : PARAM_I NT) ;
$sq- >bi ndPar am( 2, $i d2, PDO: : PARAM_I NT) ;
$sq- >bi ndPar am( 3, $i d3, PDO: : PARAM_I NT) ;
/ / check execut e st at ement
i f ( ! $sq- >execut e( ) ) {
echo "Er r or ! ";
}
PHP PDO Update Record
Update Record by using question mark place holder and bind parameter.
Syntax Update Record
$updat e_ar r ay = ar r ay(
ar r ay( ' emai l ' => ' 113334ob@aa1. com' , ' i d' => 1) ,
ar r ay( ' emai l ' => ' 22444@aaa2. com' , ' i d' => 2) ,
ar r ay( ' emai l ' => ' 33444@aaa3. com' , ' i d' => 3)
) ;
$sql = "UPDATE user _i nf or SET emai l =? WHERE i d=?";
$sq = $db- >pr epar e( $sql ) ;
f or each ( $updat e_ar r ay as $a) {
$sq- >bi ndPar am( 1, $a[ ' emai l ' ] , PDO: : PARAM_STR) ;
$sq- >bi ndPar am( 2, $a[ ' i d' ] , PDO: : PARAM_I NT) ;
$sq- >execut e( ) ;
/ / echo $sq- >r owCount ( ) ;
echo "<br / >";
}
16
Example 1
<?php
$updat e_ar r ay = ar r ay(
ar r ay( ' emai l ' => ' 113334ob@aa1. com' , ' i d' => 1) ,
ar r ay( ' emai l ' => ' 22444@aaa2. com' , ' i d' => 2) ,
ar r ay( ' emai l ' => ' 33444@aaa3. com' , ' i d' => 3)
) ;
/ / f et ch as NUM
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
/ / updat e r ecor ds
$sql = "UPDATE user _i nf or SET emai l =? WHERE i d=?";
$sq = $db- >pr epar e( $sql ) ;
/ / l oop t hr ough ar r ay
f or each ( $updat e_ar r ay as $a) {
$sq- >bi ndPar am( 1, $a[ ' emai l ' ] , PDO: : PARAM_STR) ;
$sq- >bi ndPar am( 2, $a[ ' i d' ] , PDO: : PARAM_I NT) ;
$sq- >execut e( ) ;
/ / echo $sq- >r owCount ( ) ;
echo "<br / >";
}
/ / sel ect and di spl ay r ecor ds
$sql = "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or WHERE i d
I N( ?, ?, ?) ";
$sq = $db- >pr epar e( $sql ) ;
echo ' <t abl e bor der ="1">' ;
echo ' <t r >
<t h>I d</ t h>
<t h>Fi r st Name</ t h>
<t h>Last Name</ t h>
<t h>Emai l </ t h>
</ t r >' ;
$sq- >execut e( ar r ay( 1, 2, 3) ) ;
whi l e ( $r = $sq- >f et ch( PDO: : FETCH_NUM) ) {
echo ' <t r >' ;
echo ' <t d>' . $r [ 0] . ' </ t d>' ;
echo ' <t d>' . $r [ 1] . ' </ t d>' ;
echo ' <t d>' . $r [ 2] . ' </ t d>' ;
echo ' <t d>' . $r [ 3] . ' </ t d>' ;
echo ' </ t r >' ;
}
echo ' </ t abl e>' ;
?>
17
PHP PDO Update Record
Update records by using name place holder and bind parameters.
Syntax PDO
/ / l i st of ar r ay t o be updat e
$updat e_ar r ay = ar r ay(
ar r ay( ' emai l ' => ' 113334ob@aa1. com' , ' i d' => 1) ,
ar r ay( ' emai l ' => ' 22444@aaa2. com' , ' i d' => 2) ,
ar r ay( ' emai l ' => ' 33444@aaa3. com' , ' i d' => 3)
) ;
$sql = "UPDATE user _i nf or SET emai l =: emai l WHERE i d=: i d";
$sq = $db- >pr epar e( $sql ) ;
f or each ( $updat e_ar r ay as $a) {
$aa_t mp = ar r ay_keys( $a) ; / / make t emp ar r ay key
$sq- >bi ndPar am( $aa_t mp[ 0] , $a[ $aa_t mp[ 0] ] , PDO: : PARAM_STR) ;
$sq- >bi ndPar am( $aa_t mp[ 1] , $a[ $aa_t mp[ 1] ] , PDO: : PARAM_I NT) ;
$sq- >execut e( ) ;
echo "<br / >";
}
Example 1
<?php
$updat e_ar r ay = ar r ay(
ar r ay( ' emai l ' => ' 113334ob@aa1. com' , ' i d' => 1) ,
ar r ay( ' emai l ' => ' 22444@aaa2. com' , ' i d' => 2) ,
ar r ay( ' emai l ' => ' 33444@aaa3. com' , ' i d' => 3)
) ;
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
/ / updat e r ecor ds
$sql = "UPDATE user _i nf or SET emai l =: emai l WHERE i d=: i d";
$sq = $db- >pr epar e( $sql ) ;
f or each ( $updat e_ar r ay as $a) {
$aa_t mp = ar r ay_keys( $a) ;
$sq- >bi ndPar am( $aa_t mp[ 0] , $a[ $aa_t mp[ 0] ] , PDO: : PARAM_STR) ;
$sq- >bi ndPar am( $aa_t mp[ 1] , $a[ $aa_t mp[ 1] ] , PDO: : PARAM_I NT) ;
$sq- >execut e( ) ;
echo "<br / >";
}
/ / sel ect and di spl ay r ecor ds
$sql = "SELECT i d, f i r st _name, l ast _name, emai l FROM user _i nf or WHERE i d
I N( ?, ?, ?) ";
$sq = $db- >pr epar e( $sql ) ;
echo ' <t abl e bor der ="1">' ;
echo ' <t r >
18
<t h>I d</ t h>
<t h>Fi r st Name</ t h>
<t h>Last Name</ t h>
<t h>Emai l </ t h>
</ t r >' ;
$sq- >execut e( ar r ay( 1, 2, 3) ) ;
whi l e ( $r = $sq- >f et ch( PDO: : FETCH_NUM) ) {
echo ' <t r >' ;
echo ' <t d>' . $r [ 0] . ' </ t d>' ;
echo ' <t d>' . $r [ 1] . ' </ t d>' ;
echo ' <t d>' . $r [ 2] . ' </ t d>' ;
echo ' <t d>' . $r [ 3] . ' </ t d>' ;
echo ' </ t r >' ;
}
echo ' </ t abl e>' ;
?>
PHP PDO Delete
Use name place holder and bind parameter to delete a specific record.
Syntax PDO Delete
sql = "DELETE FROM user _i nf or WHERE i d=: i d";
$sq = $db- >pr epar e( $sql ) ;
$sq- >bi ndPar am( ' i d' , 1, PDO: : PARAM_I NT) ;
Example 1
<?php
$del et e_ar r ay = ar r ay(
ar r ay( ' i d' => 1) ,
ar r ay( ' i d' => 2) ,
ar r ay( ' i d' => 3)
) ;
/ / f et ch as NUM
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
/ / del et e r ecor ds
$sql = "DELETE FROM user _i nf or WHERE i d=: i d";
$sq = $db- >pr epar e( $sql ) ;
/ / key( $i d) ; t o get ar r ay key
f or each ( $del et e_ar r ay as $i d) {
$sq- >bi ndPar am( key( $i d) , $i d[ key( $i d) ] , PDO: : PARAM_I NT) ;
$sq- >execut e( ) ;
echo $sq- >r owCount ( ) ;
echo "<br / >";
}
?>
19
PHP MySQL PDO DELETE with prepared statement and named
placeholders
Use name place holder and bind parameter to delete a specific record.
Syntax PDO Delete
sql = "DELETE FROM user _i nf or WHERE i d=: i d";
$sq = $db- >pr epar e( $sql ) ;
$sq- >bi ndPar am( ' i d' , 1, PDO: : PARAM_I NT) ;
Example 1
<?php
$del et e_ar r ay = ar r ay(
ar r ay( ' i d' => 1) ,
ar r ay( ' i d' => 2) ,
ar r ay( ' i d' => 3)
) ;
/ / f et ch as NUM
$dns = ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ;
$user = ' user 2000' ;
$pass = ' passwor d2000' ;
$db = new PDO( $dns, $user , $pass) ;
/ / del et e r ecor ds
$sql = "DELETE FROM user _i nf or WHERE i d=: i d";
$sq = $db- >pr epar e( $sql ) ;
/ / key( $i d) ; t o get ar r ay key
f or each ( $del et e_ar r ay as $i d) {
$sq- >bi ndPar am( key( $i d) , $i d[ key( $i d) ] , PDO: : PARAM_I NT) ;
$sq- >execut e( ) ;
echo $sq- >r owCount ( ) ;
echo "<br / >";
}
?>
PHP MySQL PDO Class Load Record (PHP PDO Uses Class to get
record)
This example uses the PHP class to request record specifies by the id. You can use this concept to
build a more advance class framework for your project.
Example 1
<?php
cl ass user {
publ i c $i d,
$f i r st _name,
$l ast _name,
$emai l ;
20
publ i c f unct i on di spl ay( ) {
echo ' User I d: ' . $t hi s- >i d . ' <br / >' ;
echo ' Fi r st Name: ' . $t hi s- >f i r st _name . ' <br / >' ;
echo ' Last Name: ' . $t hi s- >l ast _name. ' <br / >' ;
echo ' Emai l : ' . $t hi s- >emai l . ' <br / >' ;
echo ' <br / >' ;
}
publ i c f unct i on LoadFr omI d( $i d) {
$db = new PDO( ' mysql : host =l ocal host ; dbname=w3cyber l ear ni ng' ,
' user 2000' , ' passwor d2000' ) ;
$sq = $db- >quer y( "SELECT i d, f i r st _name, l ast _name, emai l FROM
user _i nf or WHERE i d={$i d}") ;
$r ow = $sq- >f et chObj ect ( __CLASS__) ;
$t hi s- >i d= $r ow- >i d;
$t hi s- >l ast _name = $r ow- >l ast _name;
$t hi s- >emai l = $r ow- >emai l ;
$t hi s- >f i r st _name = $r ow- >f i r st _name;
}
}
$t est _user = new user ( ) ;
$t est _user - >LoadFr omI d( 1) ;
$t est _user - >di spl ay( ) ;
?>