-2
votes

Mystère de requête PHP SQL

Ce maux de tête d'un morceau de massage SQL Pas d'erreur, mais la variable $ zvv n'est pas insérée correctement dans la requête, c'est comme affecter le résultat comme s'il s'agit de "" "" "mais il a une valeur de chaîne valide, mais Il ne se met pas dans la requête.

Voir tout problème avec ce SQL? P>

$sqlQuery = " SELECT * FROM tbl_staff WHERE status =' "   .  $zvv .  " ' limit 
" . ($lowerLimit) . " ,  " . ($perPageCount) . " ";


2 commentaires

Les espaces supplémentaires à l'intérieur de vos citations de cordes le jettent probablement. Je suggérerais d'utiliser des déclarations préparées et une liaison de paramètres pour empêcher la citation de maux de tête, ainsi qu'un avantage d'éliminer l'injection SQL. Voici les instructions pour PDO et MySQLI


echo $ sqlquery et voir les erreurs de syntaxe de première main


4 Réponses :


1
votes

Essayez ceci:

"SELECT * FROM tbl_staff WHERE status='$zvv' LIMIT 
    $lowerLimit , $perPageCount ";


0 commentaires

1
votes

Vous avez des espaces dans votre concaténation. De plus, si vous utilisez des guillemets doubles, le contenu de la variable sera imprimé. xxx


2 commentaires

"Vous avez des espaces dans votre concaténation" - et comment savez-vous que ce n'est pas exactement ce que veut?


Apparemment, certaines des autres réponses pensent la même chose, mais oui est un bon point.



0
votes

Vous avez des espaces dans votre requête: xxx

donc si $ zvv a une valeur de 'abc' vous utilisez C'est dans la requête sous la forme Statut = 'abc' qui, à cause des espaces, n'est pas la même. Résultat nettoyé, c'est ainsi que je préfère l'écrire: xxx


0 commentaires

0
votes

Merci, a eu 2 oiseaux avec une pierre ici, une partie de ces obligations qui travaillent mieux que ma requête actuelle et que des déclarations préparées semblent être une bonne façon permanente d'obtenir des caractères de lutte contre cette approche d'essai et d'erreur et que plus en toute sécurité de SQL Risque d'injection.

Cette erreur retenait le reste de la routine de manière trompeuse où elle semblait fonctionner jusqu'à ce que je ressemblais plus près, car c'est la première fois que je gêne avec Ajax et pagination.

Ce conseil doit économiser de la vraie durée de tête de maux de tête SQL-Roulette Immédiatement à l'avenir, c'est assez finkicy mais je comprends pourquoi maintenant.

Merci tout le monde.


0 commentaires