版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cpp1997/article/details/80754287
PHP 5 及以上版本建议使用以下方式连接 MySQL :
- MySQLi
- PDO (PHP Data Objects)
我个人更偏好使用MySQLi,所以以MySQLi为例连接操作MySQL
而MySQLi又分为面向对象和面向过程两种方法,推荐使用面向对象。
下面以面向对象为例:
首先我们操作数据库之前要连接数据库
<?php
$servername = "localhost"; //$servername是你的数据库服务器名 正常情况下默认为localhost;
$username = "username"; //$username 是你的数据库用户名 正常情况下默认为root
$password = "password"; //$password 是你的数据库用户密码 根据自己的情况修改
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
连接成功后我们可以对数据库进行crud操作了 即增删改查
以插入数据为例,这里我们采用预编译的方式来操作数据库
假设我们在MySQL中创建了一个mydb的数据库 并且已经有一个user表
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "mydb";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 预处理及绑定
$stmt = $conn->prepare("insert into user (username,pwd,age) values(?,?,?)");
$stmt->bind_param("sss", $username, $pwd,$age);
// 设置参数并执行
$username = "Blex"
$pwd = "1234"
$age = "18"
$stmt->execute();
echo "新记录插入成功";
$stmt->close();
$conn->close();
?>
对sql语句进行一下说明:在sql语句中我们使用占位符‘?’来指代我们要传入的数据库参数。
接下来我们看一下bind_param()函数,该函数绑定了SQL的参数,且告诉数据库参数的值。
其中"sss"表示处理其余参数的数据类型。‘s’是告诉数据库该参数为字符串。
参数有以下四种类型:
- i - integer(整型)
- d - double(双精度浮点型)
- s - string(字符串)
- b - BLOB(binary large object:二进制大对象
对于其他的数据库操作可以参考上面的代码,只要将相应的sql语句写入$conn->prepare()中执行就OK了。