「PHP系列」PHP MySQL 创建数据库/创建表/插入数据

梦应逍遥  高级会员 | 2024-6-21 01:22:19 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 245|帖子 245|积分 735

一、PHP MySQL 创建数据库

要在 PHP 中使用 MySQL 创建数据库,你通常不能直接通过 PHP 脚本直接在数据库服务器上实行这个操作,由于创建数据库通常是一个管理员级别的操作,需要更高的权限。但是,如果你确实拥有充足的权限,并且出于某种原因需要在 PHP 脚本中实行此操作,你可以使用 mysqli 或 PDO 扩展来毗连到 MySQL 服务器并实行 SQL 语句来创建数据库。
以下是一个使用 mysqli 扩展的示例:
  1. <?php
  2. // 数据库连接参数
  3. $servername = "localhost";
  4. $username = "your_username";
  5. $password = "your_password";
  6. // 创建连接
  7. $conn = new mysqli($servername, $username, $password);
  8. // 检查连接是否成功
  9. if ($conn->connect_error) {
  10.     die("连接失败: " . $conn->connect_error);
  11. }
  12. // SQL 语句用于创建数据库
  13. $sql = "CREATE DATABASE IF NOT EXISTS my_database_name";
  14. if ($conn->query($sql) === TRUE) {
  15.     echo "数据库创建成功";
  16. } else {
  17.     echo "Error creating database: " . $conn->error;
  18. }
  19. // 关闭连接
  20. $conn->close();
  21. ?>
复制代码
留意

  • 请将 your_username 和 your_password 替换为你的 MySQL 用户名和暗码。
  • 将 my_database_name 替换为你想要创建的数据库的名称。
  • 使用 CREATE DATABASE IF NOT EXISTS 语句可以确保如果数据库已经存在,则不会引发错误。
  • 在生产情况中,直接在 PHP 脚本中实行此类操作可能会带来安全风险。确保你了解这些风险,并考虑使用更安全的方法来管理数据库(例如,使用命令行工具或数据库管理工具)。
  • 如果你的 PHP 脚本运行在一个 web 服务器上,并且你没有直接访问 MySQL 服务器的权限,那么你可能需要在服务器上设置一个具有得当权限的 MySQL 用户,以便 PHP 脚本可以毗连并实行此操作。
二、PHP MySQL 创建表

要在 PHP 中使用 MySQL 创建数据表,你需要首先毗连到 MySQL 数据库,然后实行一个 SQL CREATE TABLE 语句。以下是一个使用 mysqli 扩展在 PHP 中创建 MySQL 表的示例:
  1. <?php
  2. // 数据库连接参数
  3. $servername = "localhost";
  4. $username = "your_username";
  5. $password = "your_password";
  6. $dbname = "your_database_name"; // 假设数据库已经存在
  7. // 创建连接
  8. $conn = new mysqli($servername, $username, $password, $dbname);
  9. // 检查连接是否成功
  10. if ($conn->connect_error) {
  11.     die("连接失败: " . $conn->connect_error);
  12. }
  13. // SQL 语句用于创建表
  14. $sql = "CREATE TABLE IF NOT EXISTS my_table (
  15.     id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  16.     firstname VARCHAR(30) NOT NULL,
  17.     lastname VARCHAR(30) NOT NULL,
  18.     email VARCHAR(50),
  19.     reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  20. )";
  21. if ($conn->query($sql) === TRUE) {
  22.     echo "表创建成功";
  23. } else {
  24.     echo "Error creating table: " . $conn->error;
  25. }
  26. // 关闭连接
  27. $conn->close();
  28. ?>
复制代码
留意

  • 请将 your_username、your_password、your_database_name 和 my_table 替换为你本身的 MySQL 用户名、暗码、数据库名称和表名称。
  • 在 CREATE TABLE 语句中,你可以界说表的列、数据范例、束缚等。上面的示例创建了一个包罗 id、firstname、lastname、email 和 reg_date 列的表。
  • 使用 IF NOT EXISTS 可以确保如果表已经存在,则不会引发错误。
  • 在生产情况中,直接在 PHP 脚本中实行数据库操作可能会带来安全风险。确保你了解这些风险,并采取得当的安全措施,如使用预处理语句来防止 SQL 注入攻击。
  • 如果你的 PHP 脚本运行在一个 web 服务器上,并且你没有直接访问 MySQL 服务器的权限,那么你可能需要在服务器上设置一个具有得当权限的 MySQL 用户,以便 PHP 脚本可以毗连并实行此操作。
三、PHP MySQL 插入数据

要在 PHP 中使用 MySQL 插入数据,你需要首先毗连到 MySQL 数据库,然后实行一个 SQL INSERT INTO 语句。以下是一个使用 mysqli 扩展在 PHP 中插入数据的示例:
  1. <?php
  2. // 数据库连接参数
  3. $servername = "localhost";
  4. $username = "your_username";
  5. $password = "your_password";
  6. $dbname = "your_database_name";
  7. // 创建连接
  8. $conn = new mysqli($servername, $username, $password, $dbname);
  9. // 检查连接是否成功
  10. if ($conn->connect_error) {
  11.     die("连接失败: " . $conn->connect_error);
  12. }
  13. // 准备插入的数据
  14. $firstname = "John";
  15. $lastname = "Doe";
  16. $email = "john.doe@example.com";
  17. // SQL 插入语句
  18. $sql = "INSERT INTO my_table (firstname, lastname, email) VALUES ('$firstname', '$lastname', '$email')";
  19. if ($conn->query($sql) === TRUE) {
  20.     echo "新记录插入成功";
  21. } else {
  22.     echo "Error: " . $sql . "<br>" . $conn->error;
  23. }
  24. // 关闭连接
  25. $conn->close();
  26. ?>
复制代码
留意

  • 请将 your_username、your_password、your_database_name 和 my_table 替换为你本身的 MySQL 用户名、暗码、数据库名称和表名称。
  • 在上面的示例中,我们直接在 SQL 语句中插入了变量 $firstname、$lastname 和 $email 的值。然而,这样做容易受到 SQL 注入攻击。为了更安全地插入数据,你应该使用预处理语句(prepared statements)和绑定参数。
下面是一个使用预处理语句和绑定参数的示例:
  1. // ...(之前的连接代码保持不变)...
  2. // 准备插入的数据
  3. $firstname = "John";
  4. $lastname = "Doe";
  5. $email = "john.doe@example.com";
  6. // SQL 插入语句(使用预处理语句的占位符)
  7. $sql = "INSERT INTO my_table (firstname, lastname, email) VALUES (?, ?, ?)";
  8. // 准备语句
  9. $stmt = $conn->prepare($sql);
  10. // 绑定参数
  11. $stmt->bind_param("sss", $firstname, $lastname, $email);
  12. // 执行语句
  13. if ($stmt->execute() === TRUE) {
  14.     echo "新记录插入成功";
  15. } else {
  16.     echo "Error: " . $sql . "<br>" . $conn->error;
  17. }
  18. // 关闭语句和连接
  19. $stmt->close();
  20. $conn->close();
  21. ?>
复制代码
使用预处理语句和绑定参数可以确保数据被精确地转义,从而防止 SQL 注入攻击。这是一种更安全、更保举的做法。
四、相关链接


  • PHP官网
  • MySQL官网
  • PHP_Github
  • PHP实现Token
  • 「PHP系列」PHP简介与起步
  • 「PHP系列」PHP语法介绍
  • 「PHP系列」PHP变量
  • 「PHP系列」PHP echo/print语句、数据范例详解
  • 「PHP系列」PHP 常量/字符串、范例比较
  • 「PHP系列」PHP 运算符详解
  • 「PHP系列」If…Else语句/switch语句
  • 「PHP系列」数组详解
  • 「PHP系列」PHP数组排序及运用场景

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦应逍遥

高级会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表