如何在PHP中使用数据库函数进行数据查询
发布时间:2023-06-16 07:12:23
在PHP中使用数据库函数进行数据查询,需要先建立与数据库的连接。使用PHP提供的mysqli或PDO扩展库进行连接。
连接数据库:
使用mysqli扩展连接MySQL数据库:
$connection = mysqli_connect('host', 'username', 'password', 'database_name');
if(mysqli_connect_errno()) {
die('Failed to connect to MySQL: ' . mysqli_connect_error());
}
使用PDO扩展连接MySQL数据库:
$dsn = 'mysql:host=host;dbname=database_name';
$username = 'username';
$password = 'password';
try {
$connection = new PDO($dsn, $username, $password);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
die('Failed to connect to MySQL: ' . $e->getMessage());
}
连接成功后,可以使用SQL查询语句对数据库进行查询。常用的查询语句包括SELECT、INSERT、UPDATE和DELETE。
SELECT查询
使用mysqli扩展进行SELECT查询:
$query = "SELECT column1, column2 FROM table_name WHERE column3 = ?";
$stmt = mysqli_prepare($connection, $query);
mysqli_stmt_bind_param($stmt, 's', $value);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
// 处理查询结果
}
mysqli_stmt_close($stmt);
使用PDO扩展进行SELECT查询:
$query = "SELECT column1, column2 FROM table_name WHERE column3 = ?";
$stmt = $connection->prepare($query);
$stmt->execute([$value]);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($result as $row) {
// 处理查询结果
}
用?表示要被占位的值,$value传入占位符,绑定$value在查询时可以防范SQL注入攻击。
INSERT查询
使用mysqli扩展进行INSERT查询:
$query = "INSERT INTO table_name (column1, column2) VALUES (?, ?)"; $stmt = mysqli_prepare($connection, $query); mysqli_stmt_bind_param($stmt, 'ss', $value1, $value2); mysqli_stmt_execute($stmt); mysqli_stmt_close($stmt);
使用PDO扩展进行INSERT查询:
$query = "INSERT INTO table_name (column1, column2) VALUES (?, ?)"; $stmt = $connection->prepare($query); $stmt->execute([$value1, $value2]);
UPDATE查询
使用mysqli扩展进行UPDATE查询:
$query = "UPDATE table_name SET column1 = ? WHERE column2 = ?"; $stmt = mysqli_prepare($connection, $query); mysqli_stmt_bind_param($stmt, 'ss', $value1, $value2); mysqli_stmt_execute($stmt); mysqli_stmt_close($stmt);
使用PDO扩展进行UPDATE查询:
$query = "UPDATE table_name SET column1 = ? WHERE column2 = ?"; $stmt = $connection->prepare($query); $stmt->execute([$value1, $value2]);
DELETE查询
使用mysqli扩展进行DELETE查询:
$query = "DELETE FROM table_name WHERE column1 = ?"; $stmt = mysqli_prepare($connection, $query); mysqli_stmt_bind_param($stmt, 's', $value); mysqli_stmt_execute($stmt); mysqli_stmt_close($stmt);
使用PDO扩展进行DELETE查询:
$query = "DELETE FROM table_name WHERE column1 = ?"; $stmt = $connection->prepare($query); $stmt->execute([$value]);
以上是使用数据库函数进行数据查询的基本方法,需要根据实际数据和查询需求进行适当调整。
