PHP 与数据库的函数
PHP 作为一种服务器脚本语言,常用于网站开发,而网站的核心数据通常是存储在数据库中的,因此PHP也提供了一系列的数据库操作函数,方便进行数据库的连接、查询、插入、更新等操作。
连接数据库
在PHP中,连接数据库有以下两种方式:
1. 使用MySQLi函数连接数据库
MySQLi是PHP内置的一个扩展,支持面向对象和面向过程的两种方式。
面向对象方式:
``` php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error)
{
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
```
面向过程方式:
``` php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检测连接
if (!$conn)
{
die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
```
2. 使用PDO函数连接数据库
PDO是PHP内置的一个扩展,提供了一个统一的接口,支持多种数据库类型,包括MySQL、SQLite、Oracle等。
``` php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
try
{
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
}
catch(PDOException $e)
{
echo "连接失败: " . $e->getMessage();
}
```
查询数据
在连接数据库成功后,可以使用语句来查询数据库中的数据,并将结果返回到PHP中。
使用MySQLi函数查询数据:
``` php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error)
{
die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT id, name, email FROM mytable";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
while($row = $result->fetch_assoc())
{
echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["email"]. "
";
}
}
else
{
echo "0 结果";
}
$conn->close();
```
使用PDO函数查询数据:
``` php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
try
{
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT id, name, email FROM mytable");
$stmt->execute();
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach($stmt->fetchAll() as $row)
{
echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["email"]. "
";
}
}
catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
$conn = null;
```
插入数据
使用MySQLi函数插入数据:
``` php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error)
{
die("连接失败: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')";
if ($conn->query($sql) === TRUE)
{
echo "新记录插入成功";
}
else
{
echo "Error: " . $sql . "
" . $conn->error;
}
$conn->close();
```
使用PDO函数插入数据:
``` php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
try
{
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
$conn->exec($sql);
echo "新记录插入成功";
}
catch(PDOException $e)
{
echo $sql . "
" . $e->getMessage();
}
$conn = null;
```
更新数据
使用MySQLi函数更新数据:
``` php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error)
{
die("连接失败: " . $conn->connect_error);
}
$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
if ($conn->query($sql) === TRUE)
{
echo "记录更新成功";
}
else
{
echo "Error updating record: " . $conn->error;
}
$conn->close();
```
使用PDO函数更新数据:
``` php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
try
{
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
$conn->exec($sql);
echo "记录更新成功";
}
catch(PDOException $e)
{
echo $sql . "
" . $e->getMessage();
}
$conn = null;
```
综上所述,PHP与数据库的函数不仅包括了连接数据库、查询数据、插入数据、更新数据等操作,并且还支持多种不同的数据库类型。为了保证代码的安全性,我们应该对用户输入的数据进行过滤和验证,避免SQL注入等攻击。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复