PHP连接mysql数据库:

<?php
$server = "localhost";
$user = "root";
$pwd = "123456";
$db = "student";

try{
    $conn = new PDO("mysql:host=$server;dbname=$db", $user, $pwd);
    echo "连接成功";
} catch (PDOException $e){
    echo $e->getMessage();
}

PHP创建mysql数据库:

<?php

$server = "localhost";
$user = "root";
$pwd = "123456";
$db = "student";
try{
    $conn = new PDO("mysql:host=$server;dbname=$db", $user, $pwd);
    // 设置 PDO 错误模式为异常 ,用于抛出异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "create database mydb";
    $conn->exec($sql);

echo "数据库创建成功<br>";
}catch (PDOException $e){
    echo $sql . "<br>" . $e->getMessage();
}
    //关闭连接
    $conn = null;

PHP创建mysql数据表:

<?php

$server = "localhost";
$user = "root";
$pwd = "123456";
$db = "mydb";

try{
    $conn = new PDO("mysql:host=$server;dbname=$db", $user, $pwd);
    $conn -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

$sql = "create table myfriend(
        id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(30) NOT NULL ,
        email VARCHAR(50),
        sex CHAR(1)
  )";

$conn->exec($sql);
    echo "数据表创建成功";

}catch (PDOException $e){
    echo $sql . "<br>" . $e->getMessage();
}

$conn = null;

PHP插入记录:

<?php

$server = "localhost";
$user = "root";
$pwd = "123456";
$db = "mydb";

try{
    $conn = new PDO("mysql:host=$server;dbname=$db", $user, $pwd);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = "insert into myfriend values (1, '吴俊杰', '1132431868@qq.com', '男')";
    $conn->exec($sql);
    echo "数据插入成功";

}catch (PDOException $e){
    echo $sql . "<br>" . $e->getMessage();
}

$conn = null;

PHP插入多条记录:

<?php

$server = "localhost";
$user = "root";
$pwd = "123456";
$db = "mydb";

try{

$conn = new PDO("mysql:host=$server;dbname=$db", $user, $pwd);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    //开始事务
    $conn->beginTransaction();
    //sql语句
    $conn->exec("insert into myfriend values (3,'吴俊杰','1132431868@gmail.com','男')");
    $conn->exec("insert into myfriend values (4,'john','1132431868@gmail.com','男')");
    $conn->exec("insert into myfriend values (5,'jack','jack1132431868@gmail.com','男')");
    //提交事务
    $conn->commit();
    echo "多条记录提交成功";

}catch (PDOException $e){
    //如果插入失败则回滚事务
    $conn->rollBack();
    echo $e->getMessage();
}

$conn = null;

MySQL 预处理语句:

预处理语句用于执行多个相同的 SQL 语句,并且执行效率更高。

预处理语句的工作原理如下:

  1. 预处理:创建 SQL 语句模板并发送到数据库。预留的值使用参数 "?" 标记 。例如:

    INSERT INTO MyGuests(firstname, lastname, email) VALUES(?,?,?)

  2. 数据库解析,编译,对SQL语句模板执行查询优化,并存储结果不输出。

  3. 执行:最后,将应用绑定的值传递给参数("?" 标记),数据库执行语句。应用可以多次执行语句,如果参数的值不一样。

相比于直接执行SQL语句,预处理语句有两个主要优点:

  • 预处理语句大大减少了分析时间,只做了一次查询(虽然语句多次执行)。

  • 绑定参数减少了服务器带宽,你只需要发送查询的参数,而不是整个语句。

  • 预处理语句针对SQL注入是非常有用的,因为参数值发送后使用不同的协议,保证了数据的合法性。

<?php

$server = "localhost";
$user = "root";
$pwd = "123456";
$db = "mydb";

try{
    $conn = new PDO("mysql:host=$server;dbname=$db", $user, $pwd);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    //预处理sql并绑定参数
    $stmt = $conn->prepare("insert into myfriend VALUES (:id, :name, :email, :sex)");
    $stmt->bindParam(':id',$id);
    $stmt->bindParam(':name',$name);
    $stmt->bindParam(':email',$email);
    $stmt->bindParam(':sex',$sex);

//填充数据,可以一次填充多条记录
    $id = 6;
    $name = "ting";
    $email = '113243186@163.com';
    $sex = "女";
    $stmt->execute();

echo "预处理动作完成";
}catch (PDOException $e){
    echo $e->getMessage();
}

$conn = null;

PDO操作mysql数据库(一)的更多相关文章

  1. php类模块引擎PDO操作MySQL数据库简单阐述

    PDO是什么呢? 通俗说就是别人写的一个“数据库操作工具类”,它非常强大,可以应对市面上几乎所有主流数据库, 具体应用时候有这样一个关系: 即,要操作某种数据,就得去“打开”对应的pdo引擎. 在ph ...

  2. PDO操作mysql数据库(二)

    从 MySQL 数据库读取数据 <?php $server = "localhost"; $user = "root"; $pwd = "123 ...

  3. PDO连接mysql数据库

    1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...

  4. MySQL原生API、MySQLi面向过程、MySQLi面向对象、PDO操作MySQL

    [转载]http://www.cnblogs.com/52fhy/p/5352304.html 本文将举详细例子向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对 ...

  5. php之PDO连接mysql数据库,增删改查等等操作实例

    我们使用传统的 mysql_connect .mysql_query方法来连接查询数据库时,如果过滤不严就有SQL注入风险,导致网站被攻击. 虽然可以用mysql_real_escape_string ...

  6. php笔记08:数据库编程---使用php的MySQL扩展库操作MySQL数据库

    1.使用php的MySQL扩展库操作MySQL数据库: php有3种方式操作MySQL数据库 (1)mysql扩展库 (2)mysqli扩展库 (3)pdo     mysql扩展库与mysql数据库 ...

  7. pdo操纵mysql数据库

    PDO是mysql数据库操作的一个公用类了,我们不需要进行自定类就可以直接使用pdo来操作数据库了,但是在php默认配置中pdo是未开启所以我们必须先在php.ini中开启它才可以使用,下文我会讲到. ...

  8. PHP操作MySQL数据库5个步骤

    PHP操作MySQL数据库一般可分为5个步骤:1.连接MySQL数据库服务器:2.选择数据库:3.执行SQL语句:4.关闭结果集:5断开与MySQL数据库服务器连接. 1.用mysql_connect ...

  9. PDO创建mysql数据库并指定utf8编码

    <?php //PDO创建mysql数据库并指定utf8编码 header('Content-type:text/html; charset=utf-8'); $servername = &qu ...

随机推荐

  1. Hibernate拦截器(Interceptor)与事件监听器(Listener)

    拦截器(Intercept):与Struts2的拦截器机制基本一样,都是一个操作穿过一层层拦截器,每穿过一个拦截器就会触发相应拦截器的事件做预处理或善后处理. 监听器(Listener):其实功能与拦 ...

  2. VersionCode和VersionName

    关于apk更新版本的问题   先上结论: Google为APK定义了两个关于版本属性:VersionCode和VersionName,他们有不同的用途. VersionCode:对消费者不可见,仅用于 ...

  3. android 读取用户号码,手机串号,SIM卡序列号

    简介: IMSI:international mobiles subscriber identity国际移动用户号码标识,这个一般大家是不知道,GSM必须写在卡内相关文件中:MSISDN:mobile ...

  4. 【转】Java中Vector和ArrayList的区别

    首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList.List用于存放多个元素,能够维护元素的次序,并且允许元素的重复.3个具体 ...

  5. [OGRE]基础教程来七发:来谈一谈缓冲绑定

    上一章我们处理监听的方案是,每一帧只处理一次. 这一次,当鼠标键盘的事件发生时,我们会立即处理它. 这里只是对缓冲输入的一个简单介绍,而不是完整的如何使用OIS的教程. 若想了解更多内容,请查阅相关的 ...

  6. UVa465 - Overflow

    题目地址:点击打开链接 C++代码: #include <cstdlib> #include <cstdio> int main() { char s1[10000],s2[1 ...

  7. java15 IO装饰设计模式

    IO装饰设计模式:(IO中使用了装饰设计模式) 节点流可以直接从源读取数据,处理流就是对节点流的包装,这就是装饰,装饰就是对原有的流的性能的提升.比如买的车,马力不够,就进行装饰,使其马力增大. 装饰 ...

  8. mysql优化之连接优化

    Posted by Money Talks on 2012/02/23 | 第一篇 序章第二篇 连接优化第三篇 索引优化第四篇 查询优化第五篇 到实战中去 连接优化 连接优化主要指客户端连接数据库以及 ...

  9. Tsar 服务器系统和应用信息的采集报告工具

    Tsar介绍 Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告工具,如收集服务器的系统信息(cpu,mem等),以及应用数据(nginx.swift等),收集到的数据存储在服务器磁盘上,可以 ...

  10. chrome浏览器频频崩溃,如何解决?

    之前chrome常崩溃,也没有找到原因,就将就着用吧,一直用到今天, 今天连续几次崩了,突然想到,难道是因为我访问的域名没有解析(能想到这个,是因为今天分配公司域名测试的时候常输错),于是就输入一个不 ...