php 操作mysql

155 阅读2分钟

image.png

image.png

image.png

image.png

image.png

image.png

image.png

使用mysqli扩展操作mysql数据

一、准备工作

在开始之前,确保你的服务器环境已经安装了以下组件:

  1. PHP:确保PHP已经安装并正确配置。
  2. MySQL:确保MySQL数据库服务器已经安装并运行。
  3. mysqli扩展:检查PHP是否已经启用mysqli扩展。可以通过查看phpinfo()输出或检查php.ini文件中的extension=mysqli配置项。
二、安装和配置mysqli扩展

如果你发现mysqli扩展未启用,可以通过以下步骤进行安装和配置:

  1. 编辑php.ini文件: 打开PHP的配置文件php.ini,找到extension=mysqli这一行,去掉前面的分号(;)以启用该扩展。
   extension=mysqli

PHPstudy中使用自带MySQL数据库的连接方法和配置环境(超详细实用分享)

一.连接方法

1.使用MySQL命令行进行连接

首先启动phpstudy

image.png

然后点击其他选项菜单--->网站根目录

image.png

进入PHPTutorial

image.png

点击MySQL文件,再点击bin文件

image.png

空白处右键在点击在终端中打开

image.png

输入mysql -uroot -p  ,password一般默认密码是root

image.png

连接成功

2.使用MySQL-front连接 

点击MySQL管理器,再点击MySQL-front

image.png

进去后,如果可以打开就直接点打开,没有就自己创一个用户

image.png

796552d00e71e8add94bad21081cd7e.png

<?php
// 告诉浏览器以什么方式解析什么类型的文档,反正乱码
header('content-type:text/html;charset=utf-8');
$servername = "localhost";
$username = "root";
$password = "root";


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

// 检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>

在phpmyadmin中显示中文就出现 “????” 乱码

查看该表的属性,在“操作”->”表选项”中看见”整理”这个下拉框中显示”latin1_swedish_ci”,发现不对,应该使用unicode码,于是将其改成”utf8_general_ci“。再次向表中插入数据,发现中文还是乱码。

查看“表结构”,发现每个字段后面的“整理”都为”latin1_swedish_ci”,于是将其更改成”utf8_general_ci“,再向表中插入中文数据,不显示乱码了。

在创建表的时候应该先添加字段的编码,在字段类型后面添加”CHARACTER SET utf8 COLLATE utf8_general_ci“

image.png

<?php
// 告诉浏览器以什么方式解析什么类型的文档,反正乱码
header('content-type:text/html;charset=utf-8');
$servername = "localhost";
$username = "root";
$password = "root";


// 创建连接
$conn = mysqli_connect($servername, $username, $password);

// 检查连接
if(mysqli_connect_errno() != null){
    die(mysqli_connect_errno());
}else{
    echo '连接成功';
}
// 选择数据库
mysqli_select_db($conn,'test');
// 设置字符集
mysqli_set_charset($conn,'utf8');

//// sql语句
// 创建数据库
//$sql = "CREATE DATABASE phpData";
//if($conn->query($sql) === TRUE){
//    echo "数据库创建成功";
//}else{
//    echo "创建数据库错误:" . $conn->error;
//}

// 创建表
//$sql = "CREATE TABLE user (
//       id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
//       current_field INT,
//       field_count INT,
//       num_rows INT,
//       type INT,
//       reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
//   )";
//
//if ($conn->query($sql) === TRUE) {
//    echo "表 user 创建成功";
//} else {
//    echo "创建表错误: " . $conn->error;
//}

//$sql = "CREATE TABLE MyGuests (
//       id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
//       firstname VARCHAR(30) NOT NULL,
//       lastname VARCHAR(30) NOT NULL,
//       email VARCHAR(50),
//       reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
//   )";
//
//if ($conn->query($sql) === TRUE) {
//    echo "表 MyGuests 创建成功";
//} else {
//    echo "创建表错误: " . $conn->error;
//}

// 插入数据
// 向表中插入数据可以使用INSERT INTO语句。
//$sql = "INSERT INTO MyGuests (firstname, lastname, email)
//VALUES ('John', 'Doe', 'john@example.com')";
//
//if ($conn->query($sql) === TRUE) {
//    echo "新记录插入成功";
//} else {
//    echo "插入错误: " . $conn->error;
//}

//

// 执行sql$sql = "INSERT INTO MyGuests (firstname, lastname, email)
////VALUES ('lin', 'xihong', 'lin@example.com'),('用户8', 'xihong', 'lin@example.com'),('用户9', 'xihong', 'lin@example.com')";

// 更新数据
//$sql = "UPDATE MyGuests SET firstname = 'cname' where id > 4";

$sql = "DELETE FROM MyGuests WHERE id > 4";

$result = mysqli_query($conn, $sql);
// 解析sql语句结果
if ($result) {
  //  echo '执行成功' . mysqli_affected_rows($conn) . "条数据!" . mysqli_insert_id($conn);
   // echo '更新成功' . mysqli_affected_rows($conn) . "条数据!";
    echo '删除成功' . mysqli_affected_rows($conn) . "条数据!";
} else {
    echo '执行失败';
}


// 执行sql语句
//$sql = "select * from `MyGuests` limit 1";
//// 执行语句
//$result =mysqli_query($conn,$sql);
//$array = mysqli_fetch_array($result);
//echo '<br/>';
//var_dump($array,MYSQLI_NUM);

//查询数据
//从表中查询数据可以使用SELECT语句。

//$sql = "SELECT id, firstname, lastname, email FROM MyGuests";
//$result = $conn->query($sql);
//
//if ($result->num_rows > 0) {
//    // 输出数据
//    while($row = $result->fetch_assoc()) {
//        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. " - Email: " . $row["email"]. "<br>";
//    }
//} else {
//    echo "0 结果";
//}

//更新数据
// 更新表中的数据可以使用UPDATE语句。
//$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
//
//if ($conn->query($sql) === TRUE) {
//    echo "记录更新成功";
//} else {
//    echo "更新错误: " . $conn->error;
//}
// 关闭数据库
mysqli_close($conn);