Maison développement back-end tutoriel php ThinkPHP3.1新特性之查询条件预处理简介_php实例

ThinkPHP3.1新特性之查询条件预处理简介_php实例

Jun 07, 2016 pm 05:18 PM
新特性

以往的ThinkPHP3.0版本对数组方式的查询条件会进行安全过滤(这是由于3.0强制使用了字段类型检测,所以数组方式的查询条件会强制转换为字段的设定类型),但是3.0版本并不支持字符串条件的安全过滤。而ThinkPHP3.1版本则增加了对条件字符串进行预处理的支持,让ORM的安全性更加得以保证。

一、使用where方法

Model类的where方法支持字符串条件预处理,使用方式:
$Model->where("id=%d and username='%s' and
xx='%f'",array($id,$username,$xx))->select();

Copier après la connexion

或者直接使用:

$Model->where("id=%d and username='%s' and xx='%f'",$id,$username,$xx)->select();

Copier après la connexion

如果$id变量来自用户提交或者URL地址的话,如果传入的是非数字类型,则会强制格式化为数字格式后进行查询操作。

字符串预处理格式类型支持指定数字、字符串等,具体可以参考vsprintf方法的参数说明。

二、使用query和execute方法

除了where条件外,对原生SQL查询方式也支持预处理机制,例如:

$Model->query("SELECT * FROM think_user WHERE id=%d and username='%s' and xx='%f'",array($id,$username,$xx));

Copier après la connexion

模型的execute方法也和query方法一样支持预处理机制。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sortie de PHP 8.3 : aperçu des nouvelles fonctionnalités Sortie de PHP 8.3 : aperçu des nouvelles fonctionnalités Nov 27, 2023 pm 12:52 PM

Sortie de PHP 8.3 : aperçu des nouvelles fonctionnalités

Un guide pour découvrir les nouvelles fonctionnalités de PHP8 et acquérir une compréhension approfondie des dernières technologies Un guide pour découvrir les nouvelles fonctionnalités de PHP8 et acquérir une compréhension approfondie des dernières technologies Dec 23, 2023 pm 01:16 PM

Un guide pour découvrir les nouvelles fonctionnalités de PHP8 et acquérir une compréhension approfondie des dernières technologies

Nouvelle extension Redis introduite dans PHP8.1 Nouvelle extension Redis introduite dans PHP8.1 Jul 07, 2023 pm 09:41 PM

Nouvelle extension Redis introduite dans PHP8.1

Un aperçu des nouvelles fonctionnalités de CSS3 : Comment utiliser CSS3 pour obtenir des effets de transition Un aperçu des nouvelles fonctionnalités de CSS3 : Comment utiliser CSS3 pour obtenir des effets de transition Sep 09, 2023 am 11:27 AM

Un aperçu des nouvelles fonctionnalités de CSS3 : Comment utiliser CSS3 pour obtenir des effets de transition

Interprétation des nouvelles fonctionnalités du langage Go : rendre la programmation plus efficace Interprétation des nouvelles fonctionnalités du langage Go : rendre la programmation plus efficace Mar 10, 2024 pm 12:27 PM

Interprétation des nouvelles fonctionnalités du langage Go : rendre la programmation plus efficace

Quelles sont les nouvelles fonctionnalités de php8 Quelles sont les nouvelles fonctionnalités de php8 Sep 25, 2023 pm 01:34 PM

Quelles sont les nouvelles fonctionnalités de php8

Interprétation des mises à jour de version numpy : nouvelles fonctionnalités et performances améliorées Interprétation des mises à jour de version numpy : nouvelles fonctionnalités et performances améliorées Jan 19, 2024 am 10:11 AM

Interprétation des mises à jour de version numpy : nouvelles fonctionnalités et performances améliorées

Quelles sont les nouveautés du langage go ? Quelles sont les nouveautés du langage go ? Aug 24, 2023 pm 01:36 PM

Quelles sont les nouveautés du langage go ?

See all articles