Maison  >  Article  >  développement back-end  >  Comment lire des données via PHP MySQL

Comment lire des données via PHP MySQL

jacklove
jackloveoriginal
2018-05-07 14:12:203308parcourir

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();?>


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);?>


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>";?>

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!

Déclaration:
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