“L'accès à la propriété n'est pas permis” d'avertissement lors de l'utilisation de l'instruction préparée

Je suis en train de faire un système de connexion en utilisant AES_ENCRYPT() pour coder mon mot de passe. Mais j'ai un avertissement de xdebug lors de la tentative de mise en œuvre de ces codes:

...
$key = 'd0gis=SUPER-cute';
$sql = "SELECT * FROM `users2` WHERE username = ? AND pwd = AES_ENCRYPT(?, ?)";
$stmt = $conn->stmt_init();
$stmt->prepare($sql);
$stmt->bind_param('sss', $username, $password, $key);
$stmt->execute();
$stmt->store_result();
...

Lorsque le débogueur répond à la ligne 8 ou $stmt->prepare($sql);, 6 avertissement même des tables à partir de xdebug dit:

(!) Warning: main(): l'accès à la Propriété n'est pas permis dans D:\xampp\htdocs\learnphp\includes\authenticate_mysqli.inc.php sur la ligne 8

L'erreur de propriété dans $stmt est vide et je n'ai pas de réel problème, mais je veux juste savoir ce qui cause ce message d'avertissement apparaît.

Googlé ce message d'avertissement, mais n'ai pas trouvé de solution:

  1. Requête de mise à JOUR avec les requêtes préparées
  2. http://php.net/manual/en/mysqli-stmt.param-count.php
Pourquoi êtes-vous à l'aide de stmt_init()? Je n'ai jamais vu ça avant. Habituellement, il est $db->prepare(...) directement.
Je suis une exemple dans php.net
C'est bizarre, parce qu'il y a autres de documentation qui suggère que vous pouvez appeler prepare directement sur le lien que vous avez, et je l'ai toujours vu qu'il fait de cette manière.
Veuillez voir ma réponse ici: stackoverflow.com/questions/28870315/... (dupe question, pas sûr de la façon de le marquer comme tel)
peut-être ceci: stackoverflow.com/questions/25377030/...

OriginalL'auteur weeix | 2013-09-16