Comment utiliser mysqli préparées en PHP?
J'essaie déclarations préparées à l'avance, mais le code ci-dessous ne fonctionne pas. J'obtiens l'erreur:
Erreur fatale: Appel à un membre de la fonction execute() sur un non-objet dans
/var/www/prepared.php sur la ligne 12
<?php
$mysqli = new mysqli("localhost", "root", "root", "test");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
}
$stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?,?)");
//insert one row
$stmt->execute(array('one',1));
//insert another row with different values
$stmt->execute(array('two',1));
?>
Aussi, ai-je besoin pour utiliser mysqli pour les requêtes préparées? Quelqu'un peut-il m'indiquer un exemple complet sur les instructions préparées à partir d'une connexion à l'insertion à la sélection avec la gestion des erreurs?
"quelqu'un Peut-il m'indiquer un exemple complet sur instruction préparée à partir d'une connexion à l'insertion à la sélection avec la gestion d'erreur" Oui. php.net/manual/en/mysqli.prepare.php. Remarque la ligne "
mysqli_prepare()
retourne un objet statement ou FALSE
si une erreur s'est produite.".OriginalL'auteur aWebDeveloper | 2012-03-09
Vous devez vous connecter pour publier un commentaire.
fdsa
À partir de la
mysqli::prepare
docs:bind_param
docs.c'est à dire:
$stmt
est FAUX (c'est à dire erreur s'est produite).OriginalL'auteur mathematical.coffee
Vous pouvez également utiliser PDO qui je préfère de beaucoup. En fait on dirait que vous êtes à la confusion PDO et Mysqli dans votre exemple de code.
Contrairement à mysqli vous n'avez pas à appeler une liaison séparée de la fonction, même si cette fonction est disponible si vous préférez/envie/besoin de l'utiliser.
Une autre chose amusante à propos de PDO est nommé espaces réservés qui peut être beaucoup moins de confusion dans les requêtes complexes:
OriginalL'auteur prodigitalson
Essayer cela, nettoyage des données entrantes.
Et n'oubliez pas les balises php.
C'est testé et le fonctionnement du script, pouvez-vous être donné la peine d'expliquer les raisons de votre déclaration.
OriginalL'auteur steve