Maison >développement back-end >tutoriel php >Comment puis-je obtenir des fonctionnalités similaires à « mysql_fetch_array » de MySQL en utilisant PDO en PHP ?

Comment puis-je obtenir des fonctionnalités similaires à « mysql_fetch_array » de MySQL en utilisant PDO en PHP ?

DDD
DDDoriginal
2024-12-15 03:52:09379parcourir

How Can I Achieve Similar Functionality to MySQL's `mysql_fetch_array` Using PDO in PHP?

Utilisation de PDO pour récupérer des tableaux de résultats en PHP

Dans le but d'atténuer les vulnérabilités d'injection SQL, vous cherchez à utiliser PDO au lieu de Connexions MySQL. Vous vous demandez si votre script PDO offrira des fonctionnalités similaires à votre précédent script MySQL, vous présentez un dilemme.

Scripts originaux :

Script PDO :

$pdo = new PDO('mysql:host=$host; dbname=$database;', $user, $pass);
$stmt = $pdo->prepare('SELECT * FROM auction WHERE name = :name');
$stmt->bindParam(':name', $_GET['searchdivebay']);
$stmt->execute(array(':name' => $name);

MySQL régulier Script :

$dbhost = @mysql_connect($host, $user, $pass) or die('Unable to connect to server');

@mysql_select_db('divebay') or die('Unable to select database');
$search = $_GET['searchdivebay'];
$query = trim($search);

$sql = "SELECT * FROM auction WHERE name LIKE '%" . $query . "%'";

if(!isset($query)){
    echo 'Your search was invalid';
    exit;
} //line 18

$result = mysql_query($trim);
$numrows = mysql_num_rows($result);
mysql_close($dbhost);

Fonctionnalité de récupération PDO

Pour obtenir une fonctionnalité similaire à la boucle while que vous avez utilisée avec votre script MySQL habituel, vous pouvez utiliser le PDOStatement Méthode .fetchAll. Voici comment :

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
$result = $sth->fetchAll(\PDO::FETCH_ASSOC);

Tableau de résultats :

Cela renverra un tableau de tableaux associatifs, chaque sous-tableau contenant une ligne de l'ensemble de résultats. Par exemple, l'exemple de code suivant produirait le résultat suivant :

print_r($result);

Sortie :

Array
(
    [0] => Array
        (
            [NAME] => pear
            [COLOUR] => green
        )

    [1] => Array
        (
            [NAME] => watermelon
            [COLOUR] => pink
        )
)

Cette structure de tableau vous permet d'accéder facilement aux données de chaque ligne, garantissant des fonctionnalités comparables. à votre script MySQL précédent.

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