Comment lire des données via PHP MySQL

jacklove
Libérer: 2023-03-25 14:14:01
original
3331 Les gens l'ont consulté

La lecture des données est très importante pour PHP Cet article explique en détail comment lire des données via PHP MySQL.

Lire les données de la base de données MySQL

L'instruction SELECT est utilisée pour lire les données de la table de données :

SELECT column_name(s) FROM table_name

Nous pouvons utiliser le signe * pour lire les champs de toutes les tables de données :

SELECT * FROM table_name

Pour en savoir plus sur SQL, veuillez visiter notre didacticiel SQL.

Utilisation de MySQLi

Dans l'exemple suivant, nous lisons les données des colonnes id, firstname et lastname de la table MyGuests de la base de données myDB et les affichons sur la page :

Instance (MySQLi - Orienté Objet)

<?php$servername = "localhost";$username = "username";$password = "password";$dbname = "myDB"; 
// 创建连接$conn = new mysqli($servername, $username, $password, $dbname);// Check connectionif ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);} 
 $sql = "SELECT id, firstname, lastname FROM MyGuests";$result = $conn->query($sql); 
if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";    }} else {
    echo "0 结果";}$conn->close();?>
Copier après la connexion


Le code ci-dessus est analysé comme suit :

Tout d'abord, nous configurons l'instruction SQL pour lire l'identifiant, le prénom de la table de données MyGuests et le nom de famille, trois champs. Nous utilisons ensuite l'instruction SQL modifiée pour récupérer le jeu de résultats de la base de données et l'attribuer à la variable copiée $result.

La fonction num_rows() détermine les données renvoyées.

Si plusieurs éléments de données sont renvoyés, la fonction fetch_assoc() place l'ensemble combiné dans un tableau associatif et le génère en boucle. while() boucle le jeu de résultats et affiche les trois valeurs de champ id, firstname et lastname.

L'exemple suivant utilise l'approche orientée procédure de MySQLi, et l'effet est similaire au code ci-dessus :

Exemple (MySQLi - orienté procédure)

<?php$servername = "localhost";$username = "username";$password = "password";$dbname = "myDB"; 
// 创建连接$conn = mysqli_connect($servername, $username, $password, $dbname);// Check connectionif (!$conn) {
    die("连接失败: " . mysqli_connect_error());}
 $sql = "SELECT id, firstname, lastname FROM MyGuests";$result = mysqli_query($conn, $sql); 
if (mysqli_num_rows($result) > 0) {
    // 输出数据
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";    }} else {
    echo "0 结果";}
 mysqli_close($conn);?>
Copier après la connexion


Utiliser PDO (+ prétraitement)

Les exemples suivants utilisent des instructions préparées.

Sélectionné les champs id, prénom et nom dans la table MyGuests et les a placés dans la table HTML :

Instance (PDO)

<?phpecho "<table style=&#39;border: solid 1px black;&#39;>";echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>"; 
class TableRows extends RecursiveIteratorIterator {
    function construct($it) { 
        parent::construct($it, self::LEAVES_ONLY); 
    }
 
    function current() {
        return "<td style=&#39;width:150px;border:1px solid black;&#39;>" . parent::current(). "</td>";    }
 
    function beginChildren() { 
        echo "<tr>"; 
    } 
 
    function endChildren() { 
        echo "</tr>" . "\n";    } } 
 $servername = "localhost";$username = "username";$password = "password";$dbname = "myDBPDO"; 
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests"); 
    $stmt->execute(); 
    // 设置结果集为关联数组
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
        echo $v;    }}catch(PDOException $e) {
    echo "Error: " . $e->getMessage();}$conn = null;echo "</table>";?>
Copier après la connexion

Cet article explique en détail comment passer L'opération de lecture des données dans php MySQL Pour plus de matériel d'apprentissage, veuillez consulter le site Web php chinois.

Recommandations connexes :

Connaissances connexes sur les instructions préparées PHP MySQL

Comment insérer plusieurs éléments de données via PHP MySQL

Comment insérer des données via PHP MySQL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

É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