国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

封裝mysqli_Prepare的query函數(shù)

xioqua / 2494人閱讀

摘要:這里的是獲得的準備的參數(shù),把和放在第一第二個用這個解決多參數(shù)的無問題出錯的處理這里我返回了,可以用其他顯示結(jié)果記錄數(shù)

使用mysqli_prepare的好處就是,防止注入
原理大致上就是,在執(zhí)行mysqli_prepare的時候,產(chǎn)生了一個協(xié)議(函數(shù)),bind_parms和execute相當于把值作為參數(shù)送入這個函數(shù),所以無論如何都無法改變代碼的結(jié)構(gòu),就不會有注入產(chǎn)生。

看了看網(wǎng)上關于這個資料還挺少的,不少人竟然用if語句來判斷參數(shù)封裝。簡直了。
AND 有時候我們要改數(shù)據(jù)結(jié)構(gòu),如果綁定結(jié)果集會有不小的麻煩,我這里把結(jié)果轉(zhuǎn)為了普通mysqli結(jié)果集

請注意:mysqli_stmt_get_result 要求mysqli使用mysqlnd的驅(qū)動
不喜歡在PHP上用OOP,所以給出的是Procedural style的代碼。

function query($sql, $type, $data) {
    $stmt=mysqli_prepare($link,$sql); //這里的link是mysqli_connect();獲得的
    array_unshift($data, $stmt, $type);//準備bind_param的參數(shù),把stmt和type放在第一第二個
    call_user_func_array("mysqli_stmt_bind_param",$data);//用這個解決多參數(shù)的無問題

    if(!mysqli_stmt_execute($stmt))
    {
        halt("MySQL Query Error:", $sql);  //出錯的處理
    }
    $result=mysqli_stmt_get_result($stmt);//這里我返回了mysqli_result,可以用其他
    mysqli_stmt_close($stmt);
    return $result;
}  
function fetch($result) {
    return mysqli_fetch_array($result, MYSQLI_NUM);
}  
function num_rows($result) {
    return mysqli_num_rows($result);
}  

$myID=1;
$myresult=query("SELECT * FROM my_table WHERE `id`=?","i",array(&$myID));
echo num_rows($myresult);//顯示結(jié)果記錄數(shù)
while($row=fetch($myresult))
{
    print_r($row);
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26085.html

相關文章

  • Python Decorator來龍

    摘要:中的函數(shù)也是對象,可以作為高階函數(shù)的參數(shù)傳入或返回值返回。因此,當代理裝飾的對象是函數(shù)時,可以使用高階函數(shù)來對某個函數(shù)進行封裝。 引言 本文主要梳理了Python decorator的實現(xiàn)思路,解釋了為什么Python decorator是現(xiàn)在這個樣子。 關于代理模式、裝飾模式 設計模式中經(jīng)常提到的代理模式、裝飾模式,這兩種叫法實際上是說的同一件事,只是側(cè)重點有所不同而已。 這兩者都是...

    frank_fun 評論0 收藏0
  • Python Decorator設計模式演繹過程解析

      小編寫這篇文章的一個主要目的,主要是給大家去做一個相關的解答,解答的內(nèi)容主要是涉及到python一些相關事宜,主要是給大家詳解的是Python Decorator的一些相關事宜,比如講一下他們的底層原理,關于設計模式演繹過程,下面就給大家詳細解答下。  關于代理模式、裝飾模式  設計模式中經(jīng)常提到的代理模式、裝飾模式,這兩種叫法實際上是說的同一件事,只是側(cè)重點有所不同而已。  這兩者都是通過在...

    89542767 評論0 收藏0
  • Node連接MySQL并封裝其增刪查改

    摘要:連接說到,可能大家會想到作為數(shù)據(jù)庫,這里將會介紹與的連接,并分享了封裝好的實例代碼,在項目開發(fā)中可直接使用。操作查詢添加刪除更新結(jié)束連接這兩種都行,第二種是強制結(jié)束。 showImg(https://segmentfault.com/img/bVbaIlR?w=900&h=500); Node連接Mysql 說到node,可能大家會想到MOngoDB作為數(shù)據(jù)庫,這里將會介紹node與m...

    Maxiye 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<