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. [GIF] Shape Objects in GIF Loop Coder

    This lesson is a quick tour of the predefined shape objects in GIF Loop Coder. function onGLC(glc) { ...

  2. java24 手写服务器最终版本

    手写服务器最终版本; <?xml version="1.0" encoding="UTF-8"?> <web-app> <serv ...

  3. systemtap 列出所有linux 内核模块与相关函数2

    [root@localhost src]# uname -aLinux localhost.localdomain 2.6.32 #1 SMP Sun Sep 20 18:58:21 PDT 2015 ...

  4. .NET技术-.NET各大网站-编程技术网址

    Source Code: http://www.codeproject.com/ The Code Projecthttp://www.tomore.com/ 中 国盟动力http://www.cod ...

  5. 动手写一个快速集成网易新闻,腾讯视频,头条首页的ScrollPageView,显示滚动视图

    最终效果 更新示例.gif 示例效果.gif 示例效果1.gif 示例效果2.gif 示例效果3.gif 示例效果4.gif 示例效果5.gif 示例效果6.gif 一.构思部分: 打算分为三个部分, ...

  6. Spring整合JMS(一)——基于ActiveMQ实现

    1.1     JMS简介 JMS的全称是Java Message Service,即Java消息服务.它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息.把它应用到 ...

  7. ThinkPHP函数详解:A方法

    A方法用于在内部实例化控制器,调用格式:A('[项目://][分组/]模块','控制器层名称')最简单的用法: $User = A('User'); 复制代码 表示实例化当前项目的UserAction ...

  8. 在Linux下开始C语言的学习

    为什么要在linux下学习C语言? linux下可以体验到最纯粹的C语言编程,可以抛出其他IDE的影响 环境配置简单,一条命令就足够.甚至对于大多数linux发行版本,都已经不需要配置C语言的环境 查 ...

  9. MVC小系列(十四)【MVC+ZTree大数据异步树加载】

    ZTree是一个jquery的树插件可以异步加载 第一步定义一个标准的接口(指的是与ztree默认的数据元素保持一致) /// <summary> /// ZTree数据结构 /// &l ...

  10. Servlet单实例多线程模式

    http://kakajw.iteye.com/blog/920839 前言:Servlet/JSP技术和ASP.PHP等相比,由于其多线程运行而具有很高的执行效率.由于Servlet/JSP默认是以 ...