PHP SQL預處理


php預處理查詢

$query='insert into p1(info) values(?)';
$query2='select info from p1 where id=?';
$country=2;

// 創建預處理語句
$stmt=mysqli_stmt_init($link);

if (mysqli_stmt_prepare($stmt,$query2))
{
    
    // 綁定參數
    mysqli_stmt_bind_param($stmt,"i",$country);
    
    // 執行查詢
    mysqli_stmt_execute($stmt);
    
    // 綁定結果變量
   mysqli_stmt_bind_result($stmt,$name); //此處的變量有幾個查詢參數就返回寫幾個
    
    // 獲取值
    mysqli_stmt_fetch($stmt); 
    
     printf("國家的網站為:%s",$name);
    
    // 關閉預處理語句
    mysqli_stmt_close($stmt);
}

循環取數據

 

$query2='select id,info from p1 where id=? or id=?';
$country=2;
$country2=10;
// 創建預處理語句
$stmt=mysqli_stmt_init($link);

if (mysqli_stmt_prepare($stmt,$query2))
{
    
    // 綁定參數
    mysqli_stmt_bind_param($stmt,"ii",$country,$country2);
    
    // 執行查詢
    mysqli_stmt_execute($stmt);
    //暑促一個對行數的影響
    var_dump(mysqli_affected_rows($link)) ;
    // 綁定結果變量
    mysqli_stmt_bind_result($stmt,$id,$name);
    
    // 獲取值
 

    while(mysqli_stmt_fetch($stmt)){
        printf("查詢結果:%s,%s",$id,$name);
}

 

 

 

php預處理插入

$query='insert into p1(info) values(?)';
$country=2;

// 創建預處理語句
$stmt=mysqli_stmt_init($link);
// 綁定參數
if (mysqli_stmt_prepare($stmt,$query))
{
    
    // 綁定參數
    mysqli_stmt_bind_param($stmt,"s",$country);
    
    
    // 關閉預處理語句
    mysqli_stmt_close($stmt);
}

補充

   從一個prepared語句返回結果集元數據,配合相關函數,可以用來獲得字段的相關信息
        mysqli_result mysqli_stmt_result_metadata ( mysqli_stmt $stmt );
        ①mysqli_fetch_field();
        ②mysqli_fetch_fields();
    取回一個結果集
        bool mysqli_stmt_store_result ( mysqli_stmt $stmt );
        取回之后可以使用int mysqli_stmt_num_rows ( mysqli_stmt $stmt );返回語句結果集中的行數
    釋放給定語句處理存儲的結果集所占內存
        void mysqli_stmt_free_result ( mysqli_stmt $stmt );
  關閉一個prepared語句
        bool mysqli_stmt_close ( mysqli_stmt $stmt );

 

    //從一個prepared語句返回結果集元數據,配合相關函數,可以用來獲得字段的相關信息==================
    var_dump($a=mysqli_stmt_result_metadata ($stmt ));
    //獲取字段信息
    var_dump(mysqli_fetch_field($a));
    var_dump(mysqli_fetch_field($a));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM