mysqli requête ne fonctionne pas lorsque la variable insérée
J'ai besoin d'une paire d'yeux supplémentaire! J'ai un super-simple requête:
$result = $mysqli->query("SELECT post_id FROM blog_posts WHERE post_uri = 'the-test-post' LIMIT 1");
$row = $result->fetch_array();
et cela me donne l'post_id. Cependant, si j'insère une variable pour post_uri, le résultat est vide. Façons j'ai essayé de laquelle aucune n'a fonctionné:
$result = $mysqli->query("SELECT post_id FROM blog_posts WHERE post_uri = '".$post_uri."' LIMIT 1");
$result = $mysqli->query("SELECT post_id FROM blog_posts WHERE post_uri = ".$post_uri." LIMIT 1");
$result = $mysqli->query("SELECT post_id FROM blog_posts WHERE post_uri = $post_uri LIMIT 1");
J'ai même requête sur une autre page de travail juste, de sorte que me confond encore plus. Aide appréciée.
- la résistance à littérale d'inlining est probablement juste une tentative de faire allusion à vous pour lier des paramètres: use-the-index-luke.com/sql/where-clause/...
- +1 pour nice ressource
Vous devez vous connecter pour publier un commentaire.
Vous gifler une variable directement dans une requête. C'est sujette à erreurs (comme vous le découvrir) et a un fort risque que vous ne parviennent pas à suffisamment aseptiser (et donc provoquer une injection SQL de la vulnérabilité).
Utilisation l'AOP couche et les variables liées à la.
Si vous mettez cette requête dans une chaîne de caractères et l'écho, vous pouvez vérifier ce qui se passe. Il y a peut être quelque chose de mal avec cette variable!
Et ainsi de suite. Je vais parier qu'il y soit rien, ou quelque chose que vous êtes ne s'attendait pas à que $post_uri, car il ne devrait pas question pour mysql comment vous avez créer votre requête.
J'ai eu un problème similaire. Votre syntaxe ressemble bien. Essayez d'utiliser une version simple de la
db connexion d'appel. Ci-dessous sont par rapport à la version de travail (ci-dessus) à la une
qui a échoué (ci-dessous).
J'ai dû utiliser une variable dans ma requête et a eu un
$mysqli->real_connect
db connexion.Cela ne fonctionnerait pas. Mais quand je suis passé à la
new mysqli
de type I a été surprisque la variable de requête n'travail.
J'espère que cela fonctionne pour vous.