Maison > base de données > tutoriel mysql > le corps du texte

Obtenir le jeu de résultats de PDO

黄舟
Libérer: 2017-02-25 10:35:17
original
1432 Les gens l'ont consulté

Méthode fetch()

La méthode fetch() est utilisée pour obtenir la ligne suivante de l'ensemble de résultats. La syntaxe est la suivante :

mixed PDOStatement::fetch([int fetch_style][,int cursor_orientation[,int cursor_offset]]])
Copier après la connexion

Le paramètre fetch_style contrôle la méthode de retour de l'ensemble de résultats

PDO::FETCH_ASSOC -- Forme de tableau associatif
PDO::FETCH_NUM -- Forme de tableau d'index numérique
PDO::FETCH_BOTH -- Les deux formes de tableau sont disponibles, c'est la valeur par défaut
PDO ::FETCH_OBJ -- sous la forme d'un objet, similaire au précédent mysql_fetch_object()

PDO::FETCH_BOUND --renvoie le résultat sous la forme d'une valeur booléenne, et les colonnes obtenues en même temps La valeur est affectée à la variable spécifiée dans la méthode bindParam().

PDO::FETCH_LAZY--renvoie les résultats sous 3 formes : tableau associatif, tableau d'index numérique et objet

cursor_orientation : PDOStatement Un curseur de défilement pour l'objet qui peut être utilisé pour récupérer une ligne spécifiée.

cursor_offset : Le décalage du curseur

Par exemple :

Préparez via l'instruction préparée dans PDO () et execute() exécutent des instructions de requête SQL et utilisent l'instruction while() et la méthode fetch() pour terminer la sortie en boucle des données

$dbms='mysql';//数据库类型
$dbName='admin';//使用的数据库
$user='root';//数据库连接用户名
$pwd='password';//数据库连接密码
$host='localhost';//数据库主机名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
$pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo
$query="select * from user";//需要执行的sql语句
$res=$pdo->prepare($query);//准备查询语句
$res->execute();
while($result=$res->fetch(PDO::FETCH_ASSOC)){
echo $result[&#39;id&#39;]." ".$result[&#39;username&#39;]." ".$result[&#39;password&#39;].&#39;<br>&#39;;
    }
}catch(Exception $e){
die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
Copier après la connexion

résultats en cours d'exécution pour :

1
 107lab e10adc3949ba59abbe56e057f20f883e
4 admin 123456
5 admin 123456
Copier après la connexion

méthode fetchAll()

La méthode fetchAll() est utilisée pour obtenir toutes les lignes de l'ensemble de résultats, et sa valeur de retour est un tableau binaire contenant toutes les données de l'ensemble de résultats. La syntaxe est la suivante :

array
 PDOStatement::fetchAll([int fetch_style[,int column_index]])
Copier après la connexion

参数说明:

fetch_style:控制结果集中数据的显示方式。

column_index: 字段的索引。

例如:

$dbms=&#39;mysql&#39;;//数据库类型
$dbName=&#39;admin&#39;;//使用的数据库
$user=&#39;root&#39;;//数据库连接用户名
$pwd=&#39;password&#39;;//数据库连接密码
$host=&#39;localhost&#39;;//数据库主机名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
$pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo
$query="select * from user";//需要执行的sql语句
$res=$pdo->prepare($query);//准备查询语句
$res->execute();
$result=$res->fetchAll(PDO::FETCH_ASSOC);
print_r($result);
}catch(Exception $e){
die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
Copier après la connexion


运行结果为:

Array
(
    [0] => Array
        (
            [id] => 1
            [username] => 107lab
            [password] => e10adc3949ba59abbe56e057f20f883e
        )

    [1] => Array
        (
            [id] => 4
            [username] => admin
            [password] => 123456
        )

    [2] => Array
        (
            [id] => 5
            [username] => admin
            [password] => 123456
        )

)
Copier après la connexion

此时可以通过foreach来遍历这个二维数组


foreach($result as $val){
echo $val[&#39;username&#39;].&#39;<br>&#39;;
}
Copier après la connexion

运行结果为:

107lab
admin
admin
Copier après la connexion

fetchColumn()方法

fetchColumn()方法获取结果集中下一行指定列的值,语法如下:

string PDOStatement::fetchColumn([int column_number])

可选参数column_number设置行中列的索引值,该值从0开始。如果省略该参数则将从第1列开始取值

例如:

通过fetchColumn()方法获取结果集中下一行中指定列的值。(或第一列id的值)

$dbms=&#39;mysql&#39;;//数据库类型
$dbName=&#39;admin&#39;;//使用的数据库
$user=&#39;root&#39;;//数据库连接用户名
$pwd=&#39;password&#39;;//数据库连接密码
$host=&#39;localhost&#39;;//数据库主机名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
    $pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo
    $query="select * from user";//需要执行的sql语句
    $res=$pdo->prepare($query);//准备查询语句
    $res->execute();
    echo $res->fetchColumn(0).&#39;<br>&#39;;
    echo $res->fetchColumn(0).&#39;<br>&#39;;
    echo $res->fetchColumn(0).&#39;<br>&#39;;
}catch(Exception $e){
    die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
Copier après la connexion


运行结果为:

1
4
5
Copier après la connexion


 以上就是PDO中获取结果集的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal