Maison > base de données > tutoriel mysql > Pourquoi est-ce que je reçois « Appel à une fonction membre exécuter () sur un non-objet » avec les instructions préparées mysqli ?

Pourquoi est-ce que je reçois « Appel à une fonction membre exécuter () sur un non-objet » avec les instructions préparées mysqli ?

Mary-Kate Olsen
Libérer: 2024-12-15 01:30:11
original
266 Les gens l'ont consulté

Why Am I Getting

Comprendre les instructions préparées par Mysqli

La préparation des instructions est une pratique cruciale pour prévenir les vulnérabilités d'injection SQL. Cependant, une erreur courante rencontrée lors de l'utilisation des instructions préparées par mysqli est la réception de l'erreur "Appel à une fonction membre exécuter() sur un non-objet."

Pour résoudre ce problème et utiliser efficacement les instructions préparées par mysqli, vous' Vous devrez comprendre ce qui suit :

  1. Liaison des paramètres : Après avoir préparé une instruction, vous devez lier les paramètres aux espaces réservés (?) dans le Requête SQL. Cela se fait à l'aide de la méthode bind_param().
  2. Exécution : Une fois les paramètres liés, vous pouvez exécuter l'instruction préparée à l'aide de la méthode execute().

Voici un exemple pour illustrer le processus complet :

<?php

// Connect to MySQL
$mysqli = new mysqli("localhost", "root", "root", "test");

// Prepare statement
$stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?, ?)");

// Bind parameters
$name = 'one';
$age = 1;
$stmt->bind_param('si', $name, $age);

// Execute statement
$stmt->execute();

// Insert another row with different values
$name = 'two';
$age = 2;
$stmt->bind_param('si', $name, $age);
$stmt->execute();

?>
Copier après la connexion

L'utilisation de mysqli pour les instructions préparées est fortement recommandée car c'est le méthode recommandée pour se protéger contre l’injection SQL en PHP. L'exemple ci-dessus couvre non seulement la connexion, l'insertion et la sélection, mais fournit également la gestion des erreurs.

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