PHP链接mysql数据库:php
<?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();
}mysql
PHP建立mysql数据库:sql
<?php
$server = "localhost";
$user = "root";
$pwd = "123456";
$db = "student";
try{
$conn = new PDO("mysql:host=$server;", $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;server
PHP插入多条记录:事务
<?php
$server = "localhost";
$user = "root";
$pwd = "123456";
$db = "mydb";
try{get
$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 语句,而且执行效率更高。
预处理语句的工做原理以下:
预处理:建立 SQL 语句模板并发送到数据库。预留的值使用参数 "?" 标记 。例如:
INSERT INTO MyGuests(firstname, lastname, email) VALUES(?,?,?)数据库解析,编译,对SQL语句模板执行查询优化,并存储结果不输出。
执行:最后,将应用绑定的值传递给参数("?" 标记),数据库执行语句。应用能够屡次执行语句,若是参数的值不同。
相比于直接执行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;