【发布时间】:2014-08-03 03:31:48
【问题描述】:
我正在制作一个 PHP 应用程序安装程序(类似于 Wordpress 安装脚本),我需要使用安装期间用户提供的主机名、用户名、密码和数据库来检查 mysql 连接。
我正在使用此代码作为 Laravel 控制器方法来测试连接:
public function TestDatabaseConnection(){
try {
$database_host = Config::get('config.database_host');
$database_name = Config::get('config.database_name');
$database_user = Config::get('config.database_user');
$database_password = Config::get('config.database_password');
$connection = mysqli_connect($database_host,$database_user,$database_password,$database_name);
if (mysqli_connect_errno()){
return false;
} else {
return true;
}
} catch (Exception $e) {
return false;
}
}
此代码似乎无法正确测试连接。函数返回值(真/假)不依赖于用户是否提供数据库数据,或者数据库数据是否正确/不正确..
文件 /app/config/config.php 包含以下数组:
<?php return array('database_host' => 'localhost', 'database_name' => 'dbasename', 'database_user' => 'dbuser', 'database_password' => 'pass');
并且在安装过程中通过表单更新。
有没有办法修改这段代码或者你有其他代码建议?
【问题讨论】:
-
...问题是?
-
问题在标题中。我还编辑了问题的正文
-
我发布了完整的答案,但为什么不使用Phing 作为应用程序安装程序呢?无需在这种东西上重新发明轮子。
标签: php mysql laravel laravel-4