豌豆Ai站群搜索引擎系统 V.25.10.25 网址:www.wd.chat

🗣 Wd提问: php连接mysql Laravel

🤖 Ai回答:
在 Laravel 中连接 MySQL 数据库非常简单,Laravel 默认就支持 MySQL,并且通过配置文件和 ORM(Eloquent)提供了强大的数据库操作能力。以下是完整的步骤:

✅ 一、环境要求

PHP = 8.1(推荐)
Composer 已安装
MySQL 服务正在运行
Laravel 项目已创建(如未创建,可使用 `composer create-project laravel/laravel your-project-name`)

✅ 二、配置数据库连接(.env 文件)

打开项目根目录下的 `.env` 文件,找到以下部分并修改为你的 MySQL 配置:

env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_username
DB_PASSWORD=your_password

💡 示例:
env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=root
DB_PASSWORD=123456

✅ 三、验证数据库连接(可选)

你可以使用 Artisan 命令测试数据库是否能正常连接:

bash
php artisan tinker

然后在 Tinker 中执行:

php
DB::connection()-getPdo();

如果没报错,说明连接成功!

✅ 四、使用 Eloquent ORM 操作数据库(推荐)

1、创建模型和迁移文件(以 User 为例)

bash
php artisan make:model User -m

这会生成 `app/Models/User.php` 和 `database/migrations/xxxx_xx_xx_xxxxxx_create_users_table.php`

2、编辑迁移文件(示例)

php
// database/migrations/xxxx_xx_xx_xxxxxx_create_users_table.php

public function up()
{
Schema::create('users', function (Blueprint $table) {
$table-id();
$table-string('name');
$table-string('email')-unique();
$table-timestamp('email_verified_at')-nullable();
$table-string('password');
$table-rememberToken();
$table-timestamps();
});
}

3、执行迁移

bash
php artisan migrate

⚠️ 如果报错:`SQLSTATE[HY000] [2002] Connection refused`,请检查 MySQL 是否启动、用户名密码是否正确。

✅ 五、在控制器或路由中操作数据库

示例:在路由中插入数据

编辑 `routes/web.php`:

php
use Illuminate\Support\Facades\DB;
use App\Models\User;

Route::get('/test-db', function () {
// 使用 Query Builder
DB::table('users')-insert([
'name' = 'John Doe',
'email' = 'john@65.hk',
'password' = bcrypt('secret'),
'created_at' = now(),
'updated_at' = now(),
]);

// 或者使用 Eloquent
User::create([
'name' = 'Jane Doe',
'email' = 'jane@65.hk',
'password' = bcrypt('secret'),
]);

return Data inserted!;
});

访问 `http://localhost:8000/test-db` 即可看到效果。

✅ 六、常见问题解决

❌ 错误1:`PDOException: SQLSTATE[HY000] [2002] Connection refused`

检查 MySQL 是否运行:`sudo systemctl status mysql`
检查 `.env` 中的 `DB_HOST` 是否为 `localhost` 或 `127.0.0.1`
检查端口是否被占用或防火墙阻止

❌ 错误2:`Access denied for user 'root'@'localhost'`

确保用户名密码正确
可尝试给用户授权:

sql
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;

然后在 `.env` 中使用这个新用户。

✅ 七、高级配置(database.php)

你也可以在 `config/database.php` 中自定义连接配置(一般不需要修改):

php
'mysql' = [
'driver' = 'mysql',
'host' = env('DB_HOST', '127.0.0.1'),
'port' = env('DB_PORT', '3306'),
'database' = env('DB_DATABASE', 'forge'),
'username' = env('DB_USERNAME', 'forge'),
'password' = env('DB_PASSWORD', ''),
'unix_socket' = env('DB_SOCKET', ''),
'charset' = 'utf8mb4',
'collation' = 'utf8mb4_unicode_ci',
'prefix' = '',
'prefix_indexes' = true,
'strict' = true,
'engine' = null,
'options' = extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA = env('MYSQL_ATTR_SSL_CA'),
]) : [],
],

✅ 总结

| 步骤 | 操作 |

| 1 | 修改 `.env` 配置 MySQL 连接信息 |
| 2 | 执行 `php artisan migrate` 创建表 |
| 3 | 使用 Eloquent 或 Query Builder 操作数据 |
| 4 | 路由/控制器中调用即可 |

✅ 现在你已经成功在 Laravel 中连接并操作 MySQL 数据库了!

如有具体错误或需求(比如多数据库、读写分离、Docker 部署等),欢迎继续提问!

Ai作答

📣 商家广告


vps

广告招商

域名抢注

高防vps

贵阳用友软件


0

IP地址: 213.71.226.152

搜索次数: 0

提问时间: 2025-11-10 09:04:41

🛒 域名购买
xc6.net
tui.men
53.biz
ftp.gs
827.net.cn
txqg.cn
souhuai.com.cn
toutian.com.cn
suosou.com.cn
wzsx.net

❓️ 热门提问
电信主机租用
电子商务网站建设
中奇香港花园
阿里最便宜的云服务器多少钱
后台挂机游戏
网站流量的统计
SEO工具在线
宝塔云服务器购买
ftp服务器linux搭建
搜索引擎关键词工具费用
豌豆Ai站群搜索引擎系统

🌐 域名评估
evtol.jx.cn
61.gold
27.gold
vtol.fj.cn
dji.xz.cn
r.xj.cn
p.qh.cn
xphone.uno
byd.he.cn
pamv.cn

⛏ 最新挖掘
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜

🖌 热门作画

🤝 关于我们:
豌豆Ai 域名 建站 站群 留痕 推广 评估 源码
开发Ai 工具 日记 价格 加盟 广告 流量 留言 联系

🗨 加入群聊
群

🔗 友情链接
贵阳水电安装公司  广州番禺月饼厂  ai提问

🧰 站长工具
Ai工具  whois查询  搜索

📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。

上一篇 84528 84529 84530 下一篇