| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?php
- // 测试数据库连接脚本
- // 加载框架基础文件
- define('APP_PATH', __DIR__ . '/app/');
- require __DIR__ . '/vendor/skycaiji/tp/base.php';
- // 尝试获取数据库连接
- $dbConfig = hink\Config::get('database');
- if(empty($dbConfig)){
- echo '未找到数据库配置!';
- exit;
- }
- // 打印数据库配置信息(隐藏密码)
- $displayConfig = $dbConfig;
- if(isset($displayConfig['password'])){
- $displayConfig['password'] = '******';
- }
- echo '数据库配置:<br>';
- echo '<pre>';
- print_r($displayConfig);
- echo '</pre>';
- echo '<br><br>开始测试数据库连接...<br><br>';
- // 尝试连接数据库
- try {
- // 使用PDO直接连接测试
- $dsn = "mysql:host={$dbConfig['hostname']};dbname={$dbConfig['database']};port={$dbConfig['hostport']}";
- $pdo = new PDO($dsn, $dbConfig['username'], $dbConfig['password']);
-
- // 设置错误模式
- $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-
- // 测试查询
- $stmt = $pdo->query('SELECT VERSION() as version, DATABASE() as dbname');
- $result = $stmt->fetch(PDO::FETCH_ASSOC);
-
- echo '<span style="color: green;">✓ 数据库连接成功!</span><br>';
- echo 'MySQL版本:' . $result['version'] . '<br>';
- echo '当前数据库:' . $result['dbname'] . '<br>';
-
- // 检查skycaiji_user表是否存在
- $stmt = $pdo->query("SHOW TABLES LIKE 'skycaiji_user'");
- if($stmt->rowCount() > 0){
- echo 'skycaiji_user表存在<br>';
-
- // 查询用户表记录数
- $stmt = $pdo->query("SELECT COUNT(*) as count FROM skycaiji_user");
- $countResult = $stmt->fetch(PDO::FETCH_ASSOC);
- echo '用户表记录数:' . $countResult['count'] . '<br>';
- } else {
- echo '<span style="color: orange;">! skycaiji_user表不存在</span><br>';
- }
-
- $pdo = null;
-
- } catch (PDOException $e) {
- echo '<span style="color: red;">✗ 数据库连接失败:' . $e->getMessage() . '</span><br>';
-
- // 尝试使用框架的Db类连接
- try {
- echo '<br>尝试使用框架Db类连接...<br>';
- $db = hink\Db::connect();
- $result = $db->query('SELECT VERSION() as version');
- echo '<span style="color: green;">✓ 框架Db类连接成功!</span><br>';
- echo 'MySQL版本:' . $result[0]['version'] . '<br>';
- } catch (Exception $e2) {
- echo '<span style="color: red;">✗ 框架Db类连接也失败:' . $e2->getMessage() . '</span><br>';
- }
- }
- // 尝试使用模型访问
- echo '<br><br>尝试使用用户模型...<br>';
- try {
- // 注册模型命名空间
- \think\Loader::addNamespace('app', __DIR__ . '/app/');
-
- $userModel = new \app\admin\model\User();
- if($userModel){
- echo '<span style="color: green;">✓ 成功实例化User模型</span><br>';
- // 尝试查询
- try {
- $count = $userModel->count();
- echo 'User模型查询成功,共有 ' . $count . ' 个用户记录<br>';
- } catch (Exception $e3) {
- echo '<span style="color: orange;">! User模型查询失败:' . $e3->getMessage() . '</span><br>';
- }
- } else {
- echo '<span style="color: red;">✗ 无法实例化User模型</span><br>';
- }
- } catch (Exception $e4) {
- echo '<span style="color: red;">✗ 模型测试失败:' . $e4->getMessage() . '</span><br>';
- }
- echo '<br><br>测试完成时间:' . date('Y-m-d H:i:s');
|