일괄 추가 데이터 전처리 중LOGIN

일괄 추가 데이터 전처리 중

일괄 추가에는 foreach 루프만 통과하고 추가하면 됩니다.

코드는 다음과 같습니다.

<?php
//绑定参数
$stmt->bindParam(1,$name);
$stmt->bindParam(2,$author);
//单条插入
//$name='java基础教程';
//$author='smile4';
//$stmt->execute();
//批量插入
$data=array(
    array('php预处理批量添加教程1','smile'),
    array('php预处理批量添加教程2','smile'),
    array('php预处理批量添加教程3','smile'),
);
foreach ($data as $row){
    $name=$row[0];
    $author=$row[1];
    $stmt->execute();
}

전체 코드는 다음과 같습니다.

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/3/5 0005
 * Time: 上午 9:23
 */
header("Content-Type:text/html;charset=utf-8");
//mysql:host:localhost;port=3306;dbname=php;charset=utf-8
$dbms='mysql';
$host='localhost';
$port='3306';
$dbname='php';
$charset='utf-8';
//用户名与密码
$user='root';
$pwd='root';
$dsn="$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";
try{
    $pdo=new PDO($dsn,$user,$pwd);
    //预处理sql语句
    $stmt=$pdo->prepare("insert into book(name,author)values(?,?)");
    //绑定参数
    $stmt->bindParam(1,$name);
    $stmt->bindParam(2,$author);
    //单条插入
    //$name='java基础教程';
    //$author='smile4';
    //$stmt->execute();
    //批量插入
    $data=array(
        array('php预处理批量添加教程1','smile'),
        array('php预处理批量添加教程2','smile'),
        array('php预处理批量添加教程3','smile'),
    );
    foreach ($data as $row){
        $name=$row[0];
        $author=$row[1];
        $stmt->execute();
    }
    //$sql='select *from book';
    //$result=$pdo->query($sql);
    //$row=$result->fetchAll(PDO::FETCH_ASSOC);
    //echo "<pre>";
    //print_r($row);
    //echo "</pre>";
}catch (PDOException $exception){
    echo $exception->getMessage().'<br>';
}

실행 결과 표시:

微信图片_20180305105339.png


execute() 함수에 매개변수를 추가할 수도 있습니다. 매개변수 유형은 배열의 요소 수와 동일해야 합니다. 자리 표시자 수

微信图片_20180305105834.png

전체 코드 표시:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/3/5 0005
 * Time: 上午 9:23
 */
header("Content-Type:text/html;charset=utf-8");
//mysql:host:localhost;port=3306;dbname=php;charset=utf-8
$dbms='mysql';
$host='localhost';
$port='3306';
$dbname='php';
$charset='utf-8';
//用户名与密码
$user='root';
$pwd='root';
$dsn="$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";
try{
    $pdo=new PDO($dsn,$user,$pwd);
    //预处理sql语句
    $stmt=$pdo->prepare("insert into book(name,author)values(?,?)");
    //绑定参数
    //$stmt->bindParam(1,$name);
    //$stmt->bindParam(2,$author);
    //单条插入
    //$name='java基础教程';
    //$author='smile4';
    //$stmt->execute();
    //批量插入
    $data=array(
        array('php预处理批量添加教程1','smile'),
        array('php预处理批量添加教程2','smile'),
        array('php预处理批量添加教程3','smile'),
    );
    foreach ($data as $row){
    //    $name=$row[0];
    //    $author=$row[1];
        $stmt->execute($row);
    }
    //$sql='select *from book';
    //$result=$pdo->query($sql);
    //$row=$result->fetchAll(PDO::FETCH_ASSOC);
    //echo "<pre>";
    //print_r($row);
    //echo "</pre>"
}catch (PDOException $exception){
    echo $exception->getMessage().'<br>';
}
;

Note: ​​​​위에 언급된 실행() 코드를 분석하면 여러 데이터 조각을 전달할 때 사용되는 배열을 알 수 있습니다. "?" 자리 표시자를 사용하여 배열을 색인화합니다.

array (

array('php 사전 처리 일괄 추가 튜토리얼 1','smile'),

array('php 사전 처리 일괄 추가 튜토리얼 2' ,'smile'),

array('php 전처리 일괄 추가 튜토리얼 3', 'smile'),);
type array

(: 매개변수 이름)의 자리 표시자를 사용하는 경우 연관 배열을 사용해야 합니다. 여러 항목을 삽입할 때, 즉 배열 인덱스는 특정 유형의 데이터입니다
예:

array(

array("name"=>'php 전처리 일괄 추가 튜토리얼 1',"author"=>' smile'),


array("name"=>'php 전처리 처리 일괄 추가 튜토리얼 1',"author"=>'smile'),

array("name"=>' php 전처리 일괄 추가 튜토리얼 1',"author"=>'smile')

);


다음 섹션

<?php echo "预处理PDO批量添加数据";
코스웨어