mysql_query
是 PHP 中的一个函数,用于执行 MySQL 数据库查询。这个函数在 PHP 5.5.0 中被废弃,并在 PHP 7.0.0 中被移除。取而代之的是使用 MySQLi 或 PDO 扩展来执行数据库操作。
mysql_query
函数允许你执行 SQL 查询,并返回结果集。如果查询成功,它返回一个结果集对象;如果查询失败,它返回 FALSE
。
mysql_query
提供了一种快速的方法来执行 SQL 语句。mysql_query
主要用于执行以下类型的 SQL 查询:
SELECT
:检索数据。INSERT
:插入数据。UPDATE
:更新数据。DELETE
:删除数据。CREATE
、ALTER
、DROP
:数据库结构操作。在 PHP 与 MySQL 数据库交互的场景中,mysql_query
曾被广泛用于执行各种数据库操作。
mysql_query
被废弃?原因:mysql_query
存在多个安全性和性能问题,例如不支持预处理语句,容易受到 SQL 注入攻击,以及不支持事务处理等。
解决方法:使用 MySQLi 或 PDO 扩展来替代 mysql_query
。这些扩展提供了更好的安全性、性能和更多的功能。
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 执行查询
$sql = "SELECT id, firstname, lastname FROM myDB.myTable";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 结果";
}
$conn->close();
try {
// 创建连接
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 执行查询
$stmt = $conn->query("SELECT id, firstname, lastname FROM myDB.myTable");
// 设置结果集为关联数组
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach($stmt as $row) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} catch(PDOException $e) {
echo "数据库连接失败: " . $e->getMessage();
}
// 关闭连接
$conn = null;
请注意,以上代码示例中的 $servername
、$username
、$password
和 $dbname
需要替换为实际的数据库连接信息。
领取专属 10元无门槛券
手把手带您无忧上云