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

Comment convertir du code MySQL en instructions PDO ?

Mary-Kate Olsen
Libérer: 2024-11-06 20:51:02
original
804 Les gens l'ont consulté

How do I convert MySQL code to PDO statements?

Comment convertir le code MySQL en instruction PDO ?

Lorsque vous travaillez avec des bases de données en PHP, il est souvent nécessaire de convertir le code MySQL en instructions PDO (PHP Data Objects). PDO fournit un moyen cohérent et sécurisé d'interagir avec les bases de données, quel que soit le pilote sous-jacent. Ce guide vous montrera comment convertir votre code MySQL en instructions PDO.

Établir une connexion

La première étape consiste à établir une connexion à la base de données à l'aide de PDO. Voici un exemple de la façon de procéder :

$db_host = "127.0.0.1";
$db_name = "database_name";
$db_user = "username";
$db_pass = "password";

$pdo = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
Copier après la connexion

Mise à jour de votre code

Une fois que vous disposez d'une connexion PDO, vous pouvez commencer à convertir votre code MySQL en instructions PDO.

Instructions préparées avec mysqli et PDO

Les instructions préparées sont un moyen sécurisé d'exécuter des requêtes contenant des données fournies par l'utilisateur. Ils empêchent l'injection SQL en liant les données à la requête avant qu'elle ne soit exécutée.

Voici un exemple d'instruction préparée dans MySQLi :

$sql = "SELECT * FROM users WHERE username = ? AND password = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("ss", $username, $password);
$stmt->execute();
$result = $stmt->get_result();
Copier après la connexion

Voici la même requête dans PDO :

$sql = "SELECT * FROM users WHERE username = ? AND password = ?";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(1, $username, PDO::PARAM_STR);
$stmt->bindParam(2, $password, PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetchAll();
Copier après la connexion

Code mis à jour

Voici un exemple de la façon de convertir le code MySQL de la question en instructions PDO :

$id = $_SESSION['u_id'] ?? NULL;

if ($id) {
    $sql = "SELECT email FROM users WHERE u_id = ?";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$id]);
    $email = $stmt->fetchColumn();
}

$email = $email ?? "";
$suggestions = selectAll($table);

$optionOne = $_POST['optionOne'] ?? "";
$optionTwo = $_POST['optionTwo'] ?? "";
$newSuggestion = $_POST['new-suggestion'] ?? "";

if ($newSuggestion && $id && $email && $optionOne && $optionTwo) {
    $sql = "INSERT INTO suggestions (user_id, email, option_1, option_2) VALUES (?, ?, ?, ?)";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$id, $email, $optionOne, $optionTwo]);
} else {
    echo "All options must be entered";
}
Copier après la connexion

Résumé

La conversion du code MySQL en instructions PDO est un processus relativement simple. En suivant les étapes décrites dans ce guide, vous pouvez facilement migrer votre code vers PDO et profiter de ses avantages, tels qu'une sécurité et des performances améliorées.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!