引言

PHP与MySQL是构建动态网站和应用程序的基石。PHP是一种流行的服务器端脚本语言,而MySQL是一个功能强大的关系型数据库管理系统。本文将基于郑海生的实战经验,为您详细解析PHP与MySQL的结合,帮助您轻松上手,构建自己的动态网站。

PHP基础

1. PHP环境搭建

首先,您需要在您的计算机上安装PHP和MySQL。以下是一个简单的步骤:

# 安装PHP
sudo apt-get install php

# 安装MySQL
sudo apt-get install mysql-server

# 安装PHP的MySQL扩展
sudo apt-get install php-mysql

2. PHP基础语法

PHP代码通常以<?php开始,以?>结束。以下是一个简单的PHP脚本示例:

<?php
echo "Hello, World!";
?>

3. 数据类型和变量

PHP支持多种数据类型,包括字符串、整数、浮点数、布尔值等。以下是一个变量的示例:

$age = 25;
$name = "John Doe";

MySQL基础

1. MySQL环境搭建

在安装MySQL后,您需要设置root用户的密码,并创建新的用户和数据库。

# 设置root用户密码
mysql_secure_installation

# 创建新用户
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

# 创建新数据库
CREATE DATABASE mydatabase;

# 授权新用户访问新数据库
GRANT ALL PRIVILEGES ON mydatabase.* TO 'newuser'@'localhost';

2. MySQL基础语法

MySQL使用SQL(结构化查询语言)进行数据操作。以下是一个简单的SQL查询示例:

SELECT * FROM users WHERE age > 18;

PHP与MySQL结合

1. 连接MySQL数据库

在PHP中,您可以使用mysqliPDO扩展连接到MySQL数据库。以下是一个使用mysqli的示例:

<?php
$servername = "localhost";
$username = "newuser";
$password = "password";
$dbname = "mydatabase";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
?>

2. 执行SQL查询

连接到数据库后,您可以使用PHP执行SQL查询。以下是一个示例:

<?php
// SQL查询
$sql = "SELECT id, name, age FROM users";
$result = $conn->query($sql);

// 检查结果
if ($result->num_rows > 0) {
  // 输出数据
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";
  }
} else {
  echo "0 results";
}
$conn->close();
?>

实战案例

1. 用户注册系统

创建一个用户注册系统,用户可以输入用户名、密码和电子邮件地址。

<?php
// 连接数据库
// ...

// 检查表单提交
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  // 获取输入数据
  $username = $_POST['username'];
  $password = password_hash($_POST['password'], PASSWORD_DEFAULT);
  $email = $_POST['email'];

  // 插入数据到数据库
  $sql = "INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')";

  if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
  } else {
    echo "Error: " . $sql . "<br>" . $conn->error;
  }
}
$conn->close();
?>

2. 用户登录系统

创建一个用户登录系统,用户可以输入用户名和密码进行登录。

<?php
// 连接数据库
// ...

// 检查表单提交
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $username = $_POST['username'];
  $password = $_POST['password'];

  // 查询数据库
  $sql = "SELECT id, password FROM users WHERE username = '$username'";
  $result = $conn->query($sql);

  if ($result->num_rows > 0) {
    // 检查密码
    $row = $result->fetch_assoc();
    if (password_verify($password, $row["password"])) {
      echo "Login successful!";
    } else {
      echo "Invalid password!";
    }
  } else {
    echo "User not found!";
  }
}
$conn->close();
?>

总结

通过本文的讲解,您应该已经掌握了PHP与MySQL的基本知识,并能够构建简单的动态网站。继续实践和学习,您将能够开发更复杂和功能丰富的应用程序。祝您学习愉快!