Maison  >  Article  >  développement back-end  >  Opérations PHP MySQL et méthodes de lecture des données

Opérations PHP MySQL et méthodes de lecture des données

jacklove
jackloveoriginal
2018-05-07 13:02:222372parcourir

La lecture des données PHP MySQL joue un rôle important dans les opérations de base de données. Cet article expliquera en détail le fonctionnement de la lecture des données.

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 avons configuré l'instruction SQL à partir de la table de données MyGuests. Lisez les trois champs identifiant, prénom et nom. 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() placera l'ensemble combiné dans un tableau associatif et le produira dans une 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 processus de MySQLi, et l'effet est similaire au code ci-dessus :

Exemple (MySQLi - orienté processus)

<?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 la base de données L'opération de lecture et les connaissances associées, pour plus de matériel d'apprentissage, veuillez faire attention au site Web php chinois pour le consulter.

Recommandations associées :

Comment utiliser PHP pour envoyer des e-mails

Compréhension et utilisation des cookies PHP

Compréhension et application des connaissances liées au cache de session PHP


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