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

如何在PHP中使用MySQL函数来操作数据库?

发布时间:2023-06-18 20:37:25

在PHP中,可以使用MySQL函数来操作数据库。这包括连接数据库、查询、插入、删除、更新等操作。

连接数据库

要连接MySQL数据库,可以使用PHP中的mysqli或PDO类。首先需要定义服务器名称、用户名、密码和数据库名称。

使用mysqli连接:

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mydatabase";

$con = mysqli_connect($servername, $username, $password, $dbname);

使用PDO连接:

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mydatabase";

try {
    $con = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // set the PDO error mode to exception
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
} catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}

查询数据

使用查询语句可以从数据库中获取数据。对于查询语句,可以使用mysqli_query或PDO::query函数。

使用mysqli查询:

$sql = "SELECT id, name, email FROM users";
$result = mysqli_query($con, $sql);

if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "0 results";
}

使用PDO查询:

$sql = "SELECT id, name, email FROM users";
$result = $con->query($sql);

if ($result->rowCount() > 0) {
    // output data of each row
    foreach($result as $row) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "0 results";
}

插入数据

要插入数据,需要使用INSERT语句。对于插入语句,可以使用mysqli_query或PDO::exec函数。

使用mysqli插入:

$sql = "INSERT INTO users (name, email, password)
VALUES ('John Doe', 'john@example.com', 'password')";

if (mysqli_query($con, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($con);
}

使用PDO插入:

$sql = "INSERT INTO users (name, email, password)
VALUES ('John Doe', 'john@example.com', 'password')";

try {
    // use exec() because no results are returned
    $con->exec($sql);
    echo "New record created successfully";
} catch(PDOException $e) {
    echo $sql . "<br>" . $e->getMessage();
}

更新数据

要更新数据,需要使用UPDATE语句。对于更新语句,可以使用mysqli_query或PDO::exec函数。

使用mysqli更新:

$sql = "UPDATE users SET password='new_password' WHERE id=1";

if (mysqli_query($con, $sql)) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . mysqli_error($con);
}

使用PDO更新:

$sql = "UPDATE users SET password='new_password' WHERE id=1";

try {
    // Prepare statement
    $stmt = $con->prepare($sql);

    // execute the query
    $stmt->execute();

    echo "Record updated successfully";
} catch(PDOException $e) {
    echo $sql . "<br>" . $e->getMessage();
}

删除数据

要删除数据,需要使用DELETE语句。对于删除语句,可以使用mysqli_query或PDO::exec函数。

使用mysqli删除:

$sql = "DELETE FROM users WHERE id=1";

if (mysqli_query($con, $sql)) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . mysqli_error($con);
}

使用PDO删除:

$sql = "DELETE FROM users WHERE id=1";

try {
    // Prepare statement
    $stmt = $con->prepare($sql);

    // execute the query
    $stmt->execute();

    echo "Record deleted successfully";
} catch(PDOException $e) {
    echo $sql . "<br>" . $e->getMessage();
}

结束连接

完成操作后,应该关闭MySQL连接,释放资源。

使用mysqli关闭连接:

mysqli_close($con);

使用PDO关闭连接:

$con = null;

通过使用MySQL函数,可以在PHP中轻松地连接、查询、插入、删除和更新MySQL数据库。这使得开发Web应用程序更加容易和高效。