Zend_Db_Expr
Jun 07, 2016 pm 04:02 PM
zend
使用
在zendframework中使用Db类时,框架会自动给sql语句添加引号以防止数据库攻击 ,这就导致了一个问题,用户无法使用zend db类使用mysql的内置函数(方法,存储过程等)。好在zend框架提供了一个类Zend_Db_Expr,此类的构造函数会告诉框架不要对它所转化的类型
在zendframework中使用Db类时,框架会自动给sql语句添加引号以防止数据库攻击 ,这就导致了一个问题,用户无法使用zend db类使用mysql的内置函数(方法,存储过程等)。好在zend框架提供了一个类Zend_Db_Expr,此类的构造函数会告诉框架不要对它所转化的类型进行添加引号的操作。
public function setBatchDelete($orderIds) { $flag = YCL_Order::FLAG_DELETED; $updateTime = time(); $data = array( 'flag' => new Zend_Db_Expr("flag | $flag"), 'update_time' => $updateTime ); $db = $this->getAdapter(); $where = $db->quoteInto('service_order_id IN (?)',$orderIds); $this->update($data,$where); }
ログイン後にコピー
上面的例子 左边的flag是数据库中的flag。
$select=$db->select(); $select->from("testtable","*"); $select->where($db->quotInto("date>=?",new Zend_Db_Expr("UNIX_TIMESTAMP()")); $db->fetchAll($select);
ログイン後にコピー
You also can create an object of type Zend_Db_Expr explicitly, to prevent a string from being treated as a column name.
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7279
9


Java チュートリアル
1622
14


CakePHP チュートリアル
1340
46


Laravel チュートリアル
1257
25


PHP チュートリアル
1205
29



CrystalDiskmarkとはどのようなソフトウェアですか? -crystaldiskmarkの使い方は?

foobar2000のダウンロード方法は? -foobar2000の使い方

Xiaoai スピーカーの使用方法 Xiaoai スピーカーを携帯電話に接続する方法
