您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
在PHP中查询数据库,主要有以下几种方法:
MySQLi(MySQL Improved Extension):MySQLi 是一个用于操作 MySQL 数据库的 PHP 扩展。它提供了面向对象和过程式的接口来执行 SQL 查询、管理数据库连接等。
面向对象的用法:
$conn = new mysqli("localhost", "username", "password", "database");
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT * FROM table_name";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
$conn->close();
过程式的用法:
$conn = mysqli_connect("localhost", "username", "password", "database");
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
$sql = "SELECT * FROM table_name";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
mysqli_close($conn);
PDO(PHP Data Objects):PDO 是一个在 PHP 中访问数据库的轻量级、一致的接口。支持多种数据库类型,如 MySQL、PostgreSQL、SQLite 等。使用 PDO可以使你更方便地在不同的数据库之间切换。
try {
$conn = new PDO("mysql:host=localhost;dbname=database", "username", "password");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM table_name");
$stmt->execute();
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach($stmt->fetchAll() as $row) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
$conn = null;
SQL Server:对于 SQL Server 数据库,可以使用 sqlsrv 扩展或 PDO_SQLSRV 驱动程序。
使用 sqlsrv 扩展(面向对象):
$conn = new sqlsrv\Connection("server=localhost;Database=database", "username", "password");
$conn->connect();
$tsql = "SELECT * FROM table_name";
$getResults = $conn->query($tsql);
if ($getResults == FALSE) {
die(print_r($conn->errors, true));
}
while ($row = $getResults->fetchArray()) {
echo "id: " . $row['id'] . " - Name: " . $row['name'] . "<br>";
}
$conn->close();
使用 sqlsrv 扩展(过程式):
$conn = sqlsrv_connect("server=localhost;Database=database", array("Database" => "database", "Uid" => "username", "PWD" => "password"));
if (!$conn) {
die(print_r(sqlsrv_errors(), true));
}
$tsql = "SELECT * FROM table_name";
$getResults = sqlsrv_query($conn, $tsql);
if ($getResults === FALSE) {
die(print_r(sqlsrv_errors(), true));
}
while ($row = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC)) {
echo "id: " . $row['id'] . " - Name: " . $row['name'] . "<br>";
}
sqlsrv_free_stmt($getResults);
sqlsrv_close($conn);
使用 PDO_SQLSRV 驱动程序(面向对象):
try {
$conn = new PDO("sqlsrv:server=localhost;Database=database", "username", "password");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM table_name");
$stmt->execute();
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach($stmt->fetchAll() as $row) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
$conn = null;
Oracle:对于 Oracle 数据库,可以使用 oci8 扩展。
$conn = oci_connect("username", "password", "//localhost/dbname");
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$sql = "SELECT * FROM table_name";
$result = oci_parse($conn, $sql);
if (!$result) {
$e = oci_error($conn);
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
oci_execute($result);
while ($row = oci_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
oci_free_statement($result);
oci_close($conn);
这些方法都可以用于查询数据库,具体选择哪种方法取决于你的需求和项目类型。如果你需要在多个数据库之间切换,建议使用 PDO。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。