PHP mysqli学习(五)预处理

核心方法

$mysqli_stmt = mysqli->prepare($sql); // 预处理,返回statement对象

$mysqli_stmt->bind_param(); // 绑定参数, 类型对应关系如下:

  i : Integer

    s : String

  d : double

  b : blob

$mysqli_stmt->excute(); // 执行sql

<?php
$mysqli = @new mysqli("localhost:3306", "root", "root", "zhy");
if ($mysqli->connect_errno) {
    die("MYSQL CONNECT ERROR:" . $mysqli->connect_error);
}
$mysqli->set_charset(‘utf8‘);

$sql = ‘INSERT INTO user (name, age, description) VALUES (?,?,?)‘;

$mysqli_stmt = $mysqli->prepare($sql);
//print_r($mysqli_stmt);

for ($i = 0; $i < 5; $i++) {
    $name = ‘prepare‘ . $i;
    $age = 25 + $i;
    $description = ‘description‘ . $i;
    $mysqli_stmt->bind_param(‘sis‘, $name, $age, $description);
    if ($mysqli_stmt->execute()) {
        echo $mysqli_stmt->insert_id;
        echo ‘<br/>‘;
    } else {
        echo $mysqli_stmt->error;
    }
}
时间: 2024-12-30 03:00:00

PHP mysqli学习(五)预处理的相关文章

Beaglebone Back学习五(PWM测试)

PWM测试 参考链接 1 Enable PWM on BeagleBone with Device Tree overlays 2Using PWM on the Beaglebone Black 3 Beaglebone Coding 101: Buttons and PWM 4 Using PWM outputs 5 beaglebone-black-cpp-PWM 6 Enabling PWM Support in the kernel 7 Beaglebone Back学习五(PWM测试

TweenMax动画库学习(五)

目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            TweenMax动画库学习(四)            TweenMax动画库学习(五)  

NodeJS学习五 之网页显示

我们新建一个Server.js. 然后运行cmd 找到server.js 路径.  node server.js 浏览器中输入http://localhost:8888/ 你会发现,网页上出现了 Hello World NodeJS学习五 之网页显示,布布扣,bubuko.com

Cmdlet开发与学习(五)

Parameter       在声明cmdlet参数的时候,我们使用了Parameter标识符,在这个标识符中,有些参数需要了解到. 强制参数 设置Mandatory=true即可. 对于强制参数,不管是在命令行中绑定,还是通过管道输入,在命令逻辑执行之前,它就必须绑定好.如果强制参数没有参数值的话,PowerShell会弹出对话框,要求用户提供参数值. 位置参数.       Position= n       有时,我们在使用Powershell的时候,发现仅仅是输入参数值,并没有指定具体

Objective C 快速入门学习五

<一>继承和多态 @class Complex 声明类(同C++) 子类函数成员 super 访问父类 同C++类似 1.通过继承 在子类中添加新方法 2.通过继承 在子类中添加新成员 3.通过继承 实现多态(实现比较简单,通过Id通用类型作为父类) 4.重载 5.抽象类abstract作用:创建子类更容易:提供了处理所有派生子类的公共接口:抽象方法制定了标准协议,规范子类必须实现. 6.通用类型id,编译时不会做类型检查,在运行时才会动态绑定具体类型,指出错误. 静态类型在编译阶段就会指出错

【git学习五】git基础之git分支

1.背景 最早用github的时候,我傻傻的问舍友大神,git里面的branch是干什么的,他用了很直白的解释,我至今还记得."branch就是你可以自己建立一个分支,随便乱搞而不影响整个项目".git分支应该是git最nb的特色吧,分支的建立和合并都十分方便. 大体的原理是这样的(图借用progit),比如说我们有一个master,还有一个分支是testing,git用head指针标记哪个分支正在被执行操作. 2.分支管理 首先来说下我们的现有的master,它是一个readme文件

mongodb学习(五) 查询

1. 按条件查询: db.users.find({"name":"MM1"}) 2.find的第二个参数可以指定要返回的字段:这里1 表示要显示的字段,0 表示要剔除的字段 db.users.find({"name":"MM1"},{"name":1,"age":1}) db.users.find({"name":"MM1"},{"nam

springMVC3学习(五)--MultiActionController

Spring提供一个多动作控制器,使用它你可以将几个动作合并在一个控制器里,这样可以把功能组合在一起. 多动作控制器存在在一个单独的包中--org.springframework.web.mvc.multiaction--它能够将请求映射到方法名, 然后调用正确的方法.比如当你在一个控制器中有很多公共的功能,但是想多个入口到控制器使用不同的行为, 使用多动作控制器就特别方便. MultiActionController类实现 类定义:public class MultiActionControl

qt学习 (五) 登陆界面之连接按钮

登陆步骤是比对输入的账号密码与数据库中的表项目是否一致 一样,  跳出mainwidget对话框 不一样,跳出消息错误框 今天就是要进去, 因为进去以后是widget的窗口,所以把用来核对消息的数据库放在MAINwidget.cpp中, 再拿一个用户点击连接的子类 login.cpp, 就在这里面画用户登录账号密码textEdit 1 除了textEdit 基本都是button 慢慢加. 登录界面可以学的东西很多. 2 在widget.h文件中加入数据库所需要的头文件, #include <Qt

蜗牛—ORACLE基础之事务学习(五)

---------------事务---当执行到commit时 事务才算是完成,不然 会执行rollback操作. declare v_money acount.money%type:=1223; ex exception; begin update acount set money=money-v_money where id=1; raise ex; update acount set money=money+v_money where id=2; commit; exception whe