11-2MySQLi面向对象新增操作–PHP实战开发教程

靓仔 151

 


原始表结构:

 

 


新建mysqli_pre_insert.php

 

代码:

 

<?php
/**
 * mysqli面向对象的预处理技术来实现新增操作
 */
//1.连接数据库
require "mysqli_connect.php";
//2.准备SQL语句
$sql="insert ignore staff set name=?,salary=?";
//3.创建STMT预处理对象
$stmt=$mysqli->stmt_init();//使用mysqli对象的方法创建一个空的对象
//4.检测预处理SQL语句
//$stmt->prepare($sql)检测sql语句是否正确,正确返回true,并将数据包装为一个对象
//用于后面操作
if($stmt->prepare($sql))
{
    //绑定参数
    $stmt->bind_param('si',$name,$salary);//st:参数(name,salary)类型为string,int

    //执行插入语句
   

$name="小龙女"; $salary=5000; $stmt->execute(); if($stmt->affected_rows>0) { echo "插入成功".$stmt->affected_rows."条数据,id是:".$stmt->insert_id."<br>"; } else { echo "没有新增记录"; } } else { //错误处理 exit($stmt->errno.":".$stmt->error); }

执行:

 

 

小龙女被成功插入:

 

 

 


插入金轮法王

 

 

<?php
/**
 * mysqli面向对象的预处理技术来实现新增操作
 */
//1.连接数据库
require "mysqli_connect.php";
//2.准备SQL语句
$sql="insert ignore staff set name=?,salary=?";
//3.创建STMT预处理对象
$stmt=$mysqli->stmt_init();//使用mysqli对象的方法创建一个空的对象
//4.检测预处理SQL语句
//$stmt->prepare($sql)检测sql语句是否正确,正确返回true,并将数据包装为一个对象
//用于后面操作
if($stmt->prepare($sql))
{
    //绑定参数
    $stmt->bind_param('si',$name,$salary);//st:参数(name,salary)类型为string,int

    //执行插入语句
    $name="小龙女";
    $salary=5000;
    $stmt->execute();
    if($stmt->affected_rows>0)
    {
        echo "插入成功".$stmt->affected_rows."条数据,id是:".$stmt->insert_id."<br>";
    }
    else
    {
        echo "没有新增记录<br>";
    }

    //执行插入语句
    $name="金轮法王";
    $salary=7000;
    $stmt->execute();
    if($stmt->affected_rows>0)
    {
        echo "插入成功".$stmt->affected_rows."条数据,id是:".$stmt->insert_id."<br>";
    }
    else
    {
        echo "没有新增记录<br>";
    }
}
else
{
    //错误处理
    exit($stmt->errno.":".$stmt->error);
}

 

执行:

 

 

金轮法王被成功插入:

 

 

 


注销stmt对象,并关闭数据库连接

<?php
/**
 * mysqli面向对象的预处理技术来实现新增操作
 */
//1.连接数据库
require "mysqli_connect.php";
//2.准备SQL语句
$sql="insert ignore staff set name=?,salary=?";
//3.创建STMT预处理对象
$stmt=$mysqli->stmt_init();//使用mysqli对象的方法创建一个空的对象
//4.检测预处理SQL语句
//$stmt->prepare($sql)检测sql语句是否正确,正确返回true,并将数据包装为一个对象
//用于后面操作
if($stmt->prepare($sql))
{
    //绑定参数
    $stmt->bind_param('si',$name,$salary);//st:参数(name,salary)类型为string,int

    //执行插入语句
    $name="杨过";
    $salary=9000;
    $stmt->execute();
    if($stmt->affected_rows>0)
    {
        echo "插入成功".$stmt->affected_rows."条数据,id是:".$stmt->insert_id."<br>";
    }
    else
    {
        echo "没有新增记录<br>";
    }

    //5.注销stmt对象
    $stmt->close();
}
else
{
    //错误处理
    exit($stmt->errno.":".$stmt->error);
}

//6. 关闭数据库连接
$mysqli->close();

 


 

 

 

分享