Est-il possible de faire des requêtes paramétrées en PHP 4 lors de l'utilisation d'une base de données MSSQL?

StackOverflow https://stackoverflow.com/questions/783315

Question

Je suis en train de faire des travaux d'entretien sur un ancien système qui exécute PHP 4 et parle à une base de données MS SQL2000 via FreeTDS. Je sais, ça sonne déjà un peu effrayant!

Une grande partie du code utilisé chaîne de concaténation dangereuse pour générer des requêtes SQL. Je l'ai fait un peu de travail pour essayer de filtrer l'entrée pour rendre les choses plus sûr, mais il me donne un mal de tête.

Je me demande s'il y a quelque chose là-bas qui permettra de faire des requêtes mes propres données paramétrées ma configuration actuelle? À ce stade, je ne peux pas changer les versions de PHP ou MSSQL.

Était-ce utile?

La solution

Si votre intérêt principal dans les requêtes SQL paramétrées est la sécurité des injections, je cherche une couche d'abstraction de base de données qui fournit la fonctionnalité pour vous et est écrit en PHP pur. Je l'ai utilisé ADOdb et c'est une option décente, et on dirait qu'ils ont encore une version PHP4 plus disponible pour le téléchargement.

La seule réserve à cette règle est la couche d'abstraction ne peut pas faire des requêtes paramétrées « appropriées » avec base de données. En d'autres termes, ils peuvent avoir mis en œuvre leur propre moteur de paramétrage, puis envoyer des chaînes complètes de SQL à la base de données. Ceci est important avec MS SQL Server, comme des requêtes paramétrées « appropriées » peuvent apporter une augmentation significative des performances.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top