PHP连接MySQL数据库的正确语法是什么(使用MySQL Workbench)
提前确认项
以下信息均可在你使用的MySQL Workbench中查询到,连接前请先核对:
- MySQL服务运行地址(本地默认是
127.0.0.1,远程服务填对应IP即可) - MySQL服务端口(默认是
3306,如果自定义过端口填对应值) - 有权限访问目标库的用户名(不建议直接使用root账号做开发测试)
- 对应用户的登录密码
- 你提前在Workbench中创建好的目标数据库名称
- 确认PHP环境已开启
mysqli或PDO扩展:可新建PHP文件写入<?php phpinfo(); ?>运行后查看扩展启用状态
连接方式1:mysqli扩展(面向过程写法,适合新手快速上手)
<?php // 替换为你自己的数据库配置信息 $host = '127.0.0.1'; $port = 3306; $user = '你的数据库用户名'; $password = '你的数据库密码'; $dbname = '你的目标数据库名称'; // 发起连接 $conn = mysqli_connect($host, $user, $password, $dbname, $port); // 连接错误检测 if (!$conn) { die("连接失败: " . mysqli_connect_error()); } echo "连接成功"; // 业务逻辑执行完成后可手动关闭连接 // mysqli_close($conn); ?>
连接失败时会直接输出对应报错信息,可根据提示排查账号密码错误、库不存在、端口不匹配等问题。
连接方式2:PDO扩展(兼容性更强,支持多类型数据库)
<?php // 替换为你自己的数据库配置信息 $host = '127.0.0.1'; $port = 3306; $user = '你的数据库用户名'; $password = '你的数据库密码'; $dbname = '你的目标数据库名称'; try { $conn = new PDO("mysql:host=$host;port=$port;dbname=$dbname", $user, $password); // 设置PDO错误模式为异常,方便排查问题 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "连接成功"; } catch(PDOException $e) { die("连接失败: " . $e->getMessage()); } // 业务逻辑执行完成后可手动关闭连接 // $conn = null; ?>
常见问题排查
- 提示连接被拒绝:先确认MySQL服务是否正常启动,填写的端口是否和Workbench中连接的端口一致
- 提示权限不足:确认当前用户名拥有从运行PHP的主机访问数据库的权限,可在Workbench的用户管理界面调整权限配置
- 提示数据库不存在:确认填写的库名和Workbench中创建的库名完全一致,注意Linux环境下MySQL库名大小写敏感
内容的提问来源于stack exchange,提问作者Oluwarotimi Osasona
相关产品推荐
相关产品推荐

