天天看點

PDO預處理

1、pdostatement::execute不使用參數

01)單個綁定值(pdostatement::bindvalue)

02)使用批量添加方法

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<code>//預處理:?号占位符,綁定參數,多個值</code>

<code>$stmt</code><code>=</code><code>$m</code><code>-&gt;prepare(</code><code>"insert into stu(name,age,sex,classid)values(?,?,?,?)"</code><code>);</code>

<code>$stmt</code><code>-&gt;bindparam(1,</code><code>$name</code><code>);</code>

<code>$stmt</code><code>-&gt;bindparam(2,</code><code>$age</code><code>);</code>

<code>$stmt</code><code>-&gt;bindparam(3,</code><code>$sex</code><code>);</code>

<code>$stmt</code><code>-&gt;bindparam(4,</code><code>$classid</code><code>);</code>

<code>$data</code><code>=</code><code>array</code><code>(</code>

<code>array</code><code>(</code><code>'yjc05'</code><code>,22,1,</code><code>'lamp'</code><code>),</code>

<code>array</code><code>(</code><code>'yjc06'</code><code>,22,1,</code><code>'lamp'</code><code>),</code>

<code>array</code><code>(</code><code>'yjc07'</code><code>,22,1,</code><code>'lamp'</code><code>),</code>

<code>);</code>

<code>//foreach相當于循環多次</code>

<code>foreach</code><code>(</code><code>$data</code> <code>as</code> <code>$v</code><code>){</code>

<code>list(</code><code>$name</code><code>,</code><code>$age</code><code>,</code><code>$sex</code><code>,</code><code>$classid</code><code>)=</code><code>$v</code><code>;</code>

<code>$stmt</code><code>-&gt;execute();</code>

<code>echo</code> <code>"操作成功!"</code><code>;</code>

<code>}</code>

 =========================

<code>//預處理: 用:占位符,綁定參數,多個值</code>

<code>$stmt</code><code>=</code><code>$m</code><code>-&gt;prepare(</code><code>"insert into stu(name,age,sex,classid)values(:name,:age,:sex,:classid)"</code><code>);</code>

<code>$stmt</code><code>-&gt;bindparam(</code><code>':name'</code><code>,</code><code>$name</code><code>);</code><code>//用:占位符時綁定參數使用引号</code>

<code>$stmt</code><code>-&gt;bindparam(</code><code>':age'</code><code>,</code><code>$age</code><code>);</code>

<code>$stmt</code><code>-&gt;bindparam(</code><code>':sex'</code><code>,</code><code>$sex</code><code>);</code>

<code>$stmt</code><code>-&gt;bindparam(</code><code>':classid'</code><code>,</code><code>$classid</code><code>);</code>

<code>array</code><code>(</code><code>'yjc08'</code><code>,22,1,</code><code>'lamp'</code><code>),</code>

<code>array</code><code>(</code><code>'yjc09'</code><code>,22,1,</code><code>'lamp'</code><code>),</code>

<code>array</code><code>(</code><code>'yjc10'</code><code>,22,1,</code><code>'lamp'</code><code>),</code>

  

2、pdostatement::execute使用參數(數組)

無需手動綁定

01)使用:占位符

<code>//預處理: 用:占位符,多個值</code>

<code>array</code><code>(</code><code>'name'</code><code>=&gt;</code><code>'yjc11'</code><code>,</code><code>'age'</code><code>=&gt;22,</code><code>'sex'</code><code>=&gt;1,</code><code>'classid'</code><code>=&gt;</code><code>'lamp'</code><code>),</code>

<code>array</code><code>(</code><code>'name'</code><code>=&gt;</code><code>'yjc12'</code><code>,</code><code>'age'</code><code>=&gt;22,</code><code>'sex'</code><code>=&gt;1,</code><code>'classid'</code><code>=&gt;</code><code>'lamp'</code><code>),</code>

<code>array</code><code>(</code><code>'name'</code><code>=&gt;</code><code>'yjc13'</code><code>,</code><code>'age'</code><code>=&gt;22,</code><code>'sex'</code><code>=&gt;1,</code><code>'classid'</code><code>=&gt;</code><code>'lamp'</code><code>),</code>

<code>$stmt</code><code>-&gt;execute(</code><code>$v</code><code>);</code>

02)使用?占位符

<code>//預處理: 用?占位符,多個值</code>

<code>array</code><code>(</code><code>'yjc14'</code><code>,22,1,</code><code>'lamp'</code><code>),</code>

<code>array</code><code>(</code><code>'yjc15'</code><code>,22,1,</code><code>'lamp'</code><code>),</code>

<code>array</code><code>(</code><code>'yjc16'</code><code>,22,1,</code><code>'lamp'</code><code>),</code>