phpstudy免费版可快速搭建上线商城,自带apache、mysql、php和phpmyadmin,安装后配置域名mall.local、建库ecommerce、写index.php连库查商品,即可实现商品展示。

想用PHP快速搭一个能上线卖货的在线商城,又不想被商业授权卡脖子——phpstudy免费版正好满足这个需求,它自带Apache、MySQL、PHP和phpMyAdmin,装完就能写代码跑商城,不用折腾环境配置。
下载并安装phpstudy免费版
访问phpstudy官网(非第三方镜像站),下载最新版“phpstudy免费版”安装包。注意核对文件哈希值,避免下载到篡改过的捆绑软件版本。
双击安装包,全程默认设置即可;【安装路径必须不含中文或空格】,否则后续Apache启动会失败。
安装过程中勾选全部组件(Apache、MySQL、PHP、phpMyAdmin),点击“下一步”直到完成。安装完毕后自动启动主界面,状态栏显示“Apache”和“MySQL”均为绿色运行中,表示基础环境已就绪。
创建商城专用数据库
在phpstudy主界面点击“数据库管理”→打开phpMyAdmin(默认地址 http://localhost/phpmyadmin)。
右上角点击“新建”,数据库名填 ecommerce,排序规则选 utf8mb4_unicode_ci(支持emoji和多语言商品名)。
进入该数据库后,点击“SQL”标签页,粘贴以下建表语句并执行:
CREATE TABLE products (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, price DECIMAL(10,2) NOT NULL, description TEXT, image VARCHAR(255));
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(255) NOT NULL, email VARCHAR(100) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP);
CREATE TABLE orders (id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, total DECIMAL(10,2) NOT NULL, status ENUM('pending','paid','shipped') DEFAULT 'pending', created_at DATETIME DEFAULT CURRENT_TIMESTAMP);
初始化商城项目目录
打开phpstudy的“网站”→“网站管理”→“创建网站”。域名填 mall.local,根目录选 D:/phpstudy_pro/WWW/mall(路径可自定义,但必须是英文且无空格)。
点击“确认”后,phpstudy会自动在指定路径生成空文件夹,并将 mall.local 映射到本地hosts(无需手动编辑)。
用VS Code或PhpStorm打开该文件夹,在其中新建 index.php 文件,写入最简测试页:
<?php echo "商城根目录已激活,可开始写商品列表逻辑"; ?>
浏览器访问 http://mall.local,看到文字即说明Web服务与目录绑定成功。
连接数据库并验证读写权限
在 mall 目录下新建 config.php,填入以下内容:
<?php <br>define('DB_HOST', '127.0.0.1');<br>define('DB_USER', 'root');<br>define('DB_PASS', '');<br>define('DB_NAME', 'ecommerce');<br>$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);<br>if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); }<br>?>
修改 index.php,开头加入 require_once 'config.php';,末尾加一行:<?php $result = $conn->query("SELECT COUNT(*) FROM products"); echo "当前商品数:" . $result->fetch_row()[0]; ?>
刷新页面,若显示“当前商品数:0”,说明PHP已成功连上MySQL并具备查询能力;【若报错mysqli扩展未启用,请回phpstudy主界面→PHP设置→勾选mysqli扩展并重启】。
写第一个商品展示页面
保持 index.php 中的数据库连接不变,替换全部HTML输出部分为:
<h2>热卖商品</h2><br><?php <br>$sql = "SELECT id, name, price, image FROM products LIMIT 6";<br>$result = $conn->query($sql);<br>if ($result->num_rows > 0) {<br> while($row = $result->fetch_assoc()) {<br> echo "<div style="border:1px solid #eee; margin:10px; padding:10px;">";<br> echo "<h3>" . htmlspecialchars($row["name"]) . "</h3>";<br> echo "<p>¥" . number_format($row["price"], 2) . "</p>";<br> echo "</div>";<br> }<br>} else { echo "暂无商品,请先添加"; }<br>?>
此时页面会显示“暂无商品,请先添加”——这是预期结果,证明逻辑通路已打通,只差往products表里插数据。
回到phpMyAdmin → ecommerce → products 表 → “插入”,填入一条测试商品:name=“无线蓝牙耳机”,price=199.00,description=“续航20小时”,image=“headphone.jpg”,提交。
刷新 http://mall.local,页面立刻出现带价格的商品区块,说明前端渲染、数据库读取、XSS过滤(htmlspecialchars)三者全部生效。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











