数据库问题

MySQL PHP语法详细使用

  一、准备工作

  安装PHP和MySQL:

  在你的服务器上安装PHP和MySQL(或MariaDB,MySQL的一个分支)。

  确保你的PHP环境已经配置好,并且可以通过Web服务器(如Apache或Nginx)访问。

  创建数据库和表:

  使用MySQL客户端(如MySQL Workbench或命令行)创建一个数据库和表。

  例如,创建一个名为test_db的数据库和一个名为users的表。

  CREATE DATABASE test_db;

  USE test_db;

  CREATE TABLE users (

  id INT AUTO_INCREMENT PRIMARY KEY,

  username VARCHAR(50) NOT NULL,

  email VARCHAR(100) NOT NULL,

  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

  );

  二、PHP与MySQL的连接

  使用mysqli扩展:

  mysqli是PHP的一个扩展,用于与MySQL数据库进行交互。

  它提供了一个面向对象的接口和一个过程化的接口。

  $servername = "localhost"; // 数据库服务器地址

  $username = "root"; // 数据库用户名

  $password = ""; // 数据库密码

  $dbname = "test_db"; // 数据库名

  // 创建连接

  $conn = new mysqli($servername, $username, $password, $dbname);

  // 检查连接

  if ($conn->connect_error) {

  die("连接失败: " . $conn->connect_error);

  }

  echo "连接成功";

  // 关闭连接

  $conn->close();

  ?>

  三、执行SQL查询

  插入数据:

  // 省略了连接部分的代码,假设你已经建立了连接

  $sql = "INSERT INTO users (username, email) VALUES ('john_doe', 'john@example.com')";

  if ($conn->query($sql) === TRUE) {

  echo "新记录插入成功";

  } else {

  echo "Error: " . $sql . "

  " . $conn->error;

  }

  $conn->close();

  ?>

  查询数据:

  // 省略了连接部分的代码

  $sql = "SELECT id, username, email, created_at FROM users";

  $result = $conn->query($sql);

  if ($result->num_rows > 0) {

  // 输出数据

  while($row = $result->fetch_assoc()) {

  echo "id: " . $row["id"]. " - 用户名: " . $row["username"]. " - 邮箱: " . $row["email"]. " - 创建时间: " . $row["created_at"]. "

  ";

  }

  } else {

  echo "0 结果";

  }

  $conn->close();

  ?>

  更新数据:

  // 省略了连接部分的代码

  $sql = "UPDATE users SET email='john_new@example.com' WHERE id=1";

  if ($conn->query($sql) === TRUE) {

  echo "记录更新成功";

  } else {

  echo "Error: " . $sql . "

  " . $conn->error;

  }

  $conn->close();

  ?>

  删除数据:

  // 省略了连接部分的代码

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

  if ($conn->query($sql) === TRUE) {

  echo "记录删除成功";

  } else {

  echo "Error: " . $sql . "

  " . $conn->error;

  }

  $conn->close();

  ?>

  四、预处理语句和安全性

  预防SQL注入:

  使用预处理语句(prepared statements)和参数化查询来防止SQL注入攻击。

  // 省略了连接部分的代码

  // 准备和绑定

  $stmt = $conn->prepare("INSERT INTO users (username, email) VALUES (?, ?)");

  $stmt->bind_param("ss", $user, $email);

  $user = "jane_doe";

  $email = "jane@example.com";

  // 执行语句

  $stmt->execute();

  echo "新记录插入成功";

  $stmt->close();

  $conn->close();

  ?>

  五、错误处理

  基本错误处理:

  在执行数据库操作时,检查返回值并处理可能的错误。

  异常处理(可选):

  使用try-catch块来捕获和处理异常(需要PHP 7及以上版本和mysqli的面向对象风格)。

  try {

  $conn = new mysqli($servername, $username, $password, $dbname);

  // 省略了其他操作代码

  $conn->close();

  } catch (mysqli_sql_exception $e) {

  echo "数据库错误: " . $e->getMessage();

  }

  ?>




免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:bkook@qq.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
上一篇:Linux详细介绍及常用命令大全(二)
下一篇:MySQL连接
0

在线
客服

在线客服服务时间:9:00-18:00

客服
热线

19899115815
7*24小时客服服务热线

关注
微信

关注官方微信
顶部