본 글의 예시에서는 php mysqli 전처리 기술을 이용하여 여러 데이터를 추가, 수정, 삭제하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
먼저 왜 전처리(precompilation) 기술이 필요한지 이야기해볼까요? 예: 데이터베이스에 100명의 사용자를 추가하려고 한다고 가정합니다. 기존 아이디어에 따르면 100개의 실행 요청이 데이터베이스로 전송됩니다. 이때 mysql 데이터베이스의 작동 원리에 따라 각 실행 문을 컴파일해야 합니다. (여기에는 100개의 Second-rate가 있습니다). 따라서 여기서 효율성은 매우 낮습니다.
전처리(precompilation) 기술의 역할은 컴파일 횟수와 시간을 줄여 효과를 높이는 것입니다. 전처리(precompilation) 기술이 어떻게 구현되는지 사례를 통해 설명해보자. (글쎄, 먼저 분명히 해두자면, php 프로그램이 처음으로 sql 문을 보낼 때, mysql 데이터베이스가 컴파일된다. 다음 99번 이후에는 php만 데이터를 거기로 보내면 됩니다. 컴파일이 필요하지 않습니다.)
<?php //1、创建数据库连接对象 $mysqli = new MySQLi("localhost","root","123456","liuyan"); if($mysqli->connect_error){ die($mysqli->connect_error); } $mysqli->query("set names 'GBK'"); //2、创建预编译对象 $sql = "insert into account(id,balance) values(?,?)"; //这里用 ? 来代替要插入的数据值 $stmt = $mysqli->prepare($sql); //返回一个statement对象,对象中的方法见手册 MySQLi_STMT //3、绑定参数(需要插入的数据),并执行 $id=null;//这里我数据库设置成了 primary key auto_increment $balance=100.5; $stmt->bind_param("id",$id,$balance); //绑定参数,返回值为布尔值。"if"按顺序代表插入数据的数据类型 //这里$id为int,用i表示,$balance为float型,用d表示,具体见手册 $res = $stmt->execute();//执行语句,返回值为布尔类型 //4、判断是否执行成功 if(!$res){ echo "数据插入失败,balance值为:".$balance; }else{ echo "成功"; } /* *****插入第二条数据 */ //3、绑定参数(需要插入的数据),并执行 $id=null;//这里我数据库设置成了 primary key auto_increment $balance=400.3; $stmt->bind_param("id",$id,$balance); //绑定参数,返回值为布尔值。"if"按顺序代表插入数据的数据类型 //这里$id为int,用i表示,$balance为float型,用d表示。 $res = $stmt->execute();//执行语句,返回值为布尔类型 //4、判断是否执行成功 if(!$res){ echo "数据插入失败,balance值为:".$balance; }else{ echo "成功"; } ?>
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.