用PHP和MySQL在Windows环境里折腾数据库那些事儿实际操作分享
- 问答
- 2026-01-18 06:25:16
- 6
我记得我刚学PHP那会儿,最头疼的就是在Windows上把PHP和MySQL凑到一块儿去,那时候啥也不懂,光安装就能卡我好几天,现在回头想想,其实就那几步,但没人带着,真是处处是坑,今天我就把我自己踩过的坑和怎么爬出来的,实实在在地说一遍,你看了可能就能少走点弯路。
你得有个“地盘”来运行这些东西,单独安装PHP、再装MySQL,最后还要配置它们能通信,对新手来说太复杂了,我强烈推荐用一个叫“集成环境”的东西,这玩意儿就像个懒人包,把PHP、MySQL、还有用来跑网页的服务器(比如Apache)全都给你打包好了,一键安装,省心省力,我最早用的是XAMPP(来源:当时网上搜“Windows PHP环境搭建”,十有八九都推荐它),后来也用过PHPStudy(来源:一些国内论坛说它对中文支持更友好),你就随便选一个,下载下来,一直点“下一步”安装就行,装好后,会有一个小控制面板,你点一下启动Apache和MySQL,看到旁边的灯变绿了,就说明你的本地服务器环境已经跑起来了,这时候,你在浏览器里输入localhost,如果能看到一个欢迎页面,恭喜你,第一步成功了!
环境有了,接下来就得跟数据库打交道了,MySQL是个管理数据的软件,但你怎么命令它呢?这时候就需要一个管理工具,集成环境里一般会自带一个叫phpMyAdmin的工具,你可以在浏览器里通过localhost/phpmyadmin访问它,它的界面全是图形化的,点点鼠标就能创建数据库、创建表,特别适合新手,但我后来发现,有时候直接用代码操作更灵活,所以我也学会了用命令行,你打开XAMPP的控制面板,点一下MySQL那一行的Shell按钮,就会弹出一个黑乎乎的窗口,这就是命令行,你需要输入mysql -u root -p,然后回车,它会问你密码,XAMPP默认的root用户密码是空的,所以你直接再按回车就行,当你看到提示符变成mysql>,就意味着你已经成功连接上MySQL服务器了,可以开始用命令对它“发号施令”了。
创建数据库的命令很简单,比如我想做个简单的博客系统,数据库就叫my_blog吧,在mysql>后面输入CREATE DATABASE my_blog;(注意分号不能少),回车,系统提示“Query OK”,数据库就建好了,然后用USE my_blog;命令告诉MySQL,我后面的操作都是针对这个数据库的。
数据库是个空仓库,你得设计里面放什么东西,比如博客得有文章吧,文章得有标题、内容、发布时间这些信息,这就需要建一张“表”来存放,在phpMyAdmin里你可以直接填表设计,用命令行的话,代码大概是这样的:
CREATE TABLE articles (
id INT AUTO_INCREMENT PRIMARY KEY,VARCHAR(255) NOT NULL,
content TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
我解释一下这句“天书”:CREATE TABLE articles是创建一张叫articles的表,括号里面是表的列:id是文章的编号,INT是数字类型,AUTO_INCREMENT表示让它自己从1开始自动增长,PRIMARY KEY表示它是主键,唯一标识每篇文章;title,VARCHAR(255)表示是最长255个字符的字符串,NOT NULL表示这一项不能为空;content,TEXT类型能存很长的文本;created_at是创建时间,TIMESTAMP是时间戳类型,DEFAULT CURRENT_TIMESTAMP意思是如果不指定,就默认用当前时间,这条命令执行后,你的数据仓库里就有了一个专门放文章的区域了。
好了,重头戏来了,怎么用PHP连接MySQL并操作它,PHP提供了几种方式,我学的时候用的是MySQLi扩展(来源:PHP官方手册推荐,比老式的mysql扩展更安全高效),连接数据库的代码有点像敲门:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_blog";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功!";
?>
把$password改成你设置的密码(如果没设就是空字符串),把这段代码保存成一个PHP文件,比如connect.php,放到集成环境的htdocs目录下(XAMPP默认是这个目录),然后在浏览器访问localhost/connect.php,如果页面上显示“连接成功!”,那真是太棒了,说明PHP和MySQL已经成功牵手!
连接上了,就可以做点实际的事了,比如插入一篇文章,假设我们有一个简单的表单提交了标题和内容,PHP可以这样把它存进数据库:
// ... 上面的连接代码 ...
$title = $_POST['title']; // 从表单获取标题
$content = $_POST['content']; // 从表单获取内容
// 使用预处理语句,防止SQL注入攻击,这是非常重要的安全习惯!
$stmt = $conn->prepare("INSERT INTO articles (title, content) VALUES (?, ?)");
$stmt->bind_param("ss", $title, $content); // "ss" 表示两个参数都是字符串类型
if ($stmt->execute()) {
echo "新文章插入成功!";
} else {
echo "Error: " . $stmt->error;
}
$stmt->close();
$conn->close();
插入之后,你可以在phpMyAdmin里看到这条新数据,或者用PHP把它查出来显示在网页上,查询的代码是这样的:
// ... 连接代码 ...
$sql = "SELECT id, title, content, created_at FROM articles ORDER BY created_at DESC";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出每行数据
while($row = $result->fetch_assoc()) {
echo "<h2>" . $row["title"]. "</h2>";
echo "<p>" . $row["content"]. "</p>";
echo "<small>发布时间: " . $row["created_at"]. "</small><br><br>";
}
} else {
echo "还没有文章哦~";
}
$conn->close();
这就是一个最最基础的“增删改查”里的“增”和“查”了,说起来简单,但我当初在Windows上折腾的时候,光是搞清楚php.ini文件里要取消哪个扩展的注释(就是启用MySQLi扩展),就查了半天的资料,还有一次,MySQL的服务怎么都启动不了,后来发现是端口3306被别的程序占用了,又学着怎么用netstat命令查端口、改配置文件。
在Windows上用PHP和MySQL折腾数据库,从一脸懵到基本入门,关键就是动手,别怕出错,出错后去看错误信息,然后去搜去问,解决问题的过程就是学习最快的时候,先把集成环境搭起来,然后试着用PHP连上数据库,成功执行一次插入和查询,这个坎儿就算迈过去了,后面再慢慢去学更复杂的查询、用户管理、数据备份这些,路子就顺了,希望我这点实际折腾的经验,能对你有点帮助。

本文由寇乐童于2026-01-18发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://www.haoid.cn/wenda/82876.html
