欢迎访问宙启技术站
智能推送

如何在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]);

以上是使用数据库函数进行数据查询的基本方法,需要根据实际数据和查询需求进行适当调整。