71 lines
2.3 KiB
PHP
Executable File
71 lines
2.3 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* 测试数据库连接和表结构
|
|
*/
|
|
|
|
require __DIR__ . '/../vendor/autoload.php';
|
|
|
|
$app = new think\App();
|
|
$app->initialize();
|
|
|
|
$db = \think\facade\Db::connect();
|
|
|
|
echo "<h2>数据库连接信息</h2>";
|
|
$config = config('database');
|
|
echo "<pre>";
|
|
echo "数据库类型: " . $config['default'] . "\n";
|
|
echo "主机: " . $config['connections'][$config['default']]['hostname'] . "\n";
|
|
echo "数据库名: " . $config['connections'][$config['default']]['database'] . "\n";
|
|
echo "表前缀: " . $config['connections'][$config['default']]['prefix'] . "\n";
|
|
echo "</pre>";
|
|
|
|
echo "<h2>直接SQL查询表结构</h2>";
|
|
try {
|
|
$columns = $db->query("SHOW COLUMNS FROM zyt_tcm_prescription");
|
|
echo "<table border='1' cellpadding='5'>";
|
|
echo "<tr><th>字段名</th><th>类型</th><th>默认值</th><th>注释</th></tr>";
|
|
foreach ($columns as $col) {
|
|
$highlight = in_array($col['Field'], ['usage_time', 'usage_way', 'dietary_taboo', 'usage_notes']) ? 'background: yellow;' : '';
|
|
echo "<tr style='$highlight'>";
|
|
echo "<td>{$col['Field']}</td>";
|
|
echo "<td>{$col['Type']}</td>";
|
|
echo "<td>{$col['Default']}</td>";
|
|
echo "<td>" . ($col['Comment'] ?? '') . "</td>";
|
|
echo "</tr>";
|
|
}
|
|
echo "</table>";
|
|
} catch (\Exception $e) {
|
|
echo "<p style='color: red;'>错误: " . $e->getMessage() . "</p>";
|
|
}
|
|
|
|
echo "<h2>使用PDO直接查询</h2>";
|
|
try {
|
|
$pdo = new PDO(
|
|
"mysql:host=127.0.0.1;dbname=zyt;charset=utf8mb4",
|
|
"root",
|
|
"root"
|
|
);
|
|
|
|
$stmt = $pdo->query("SELECT id, usage_time, usage_way, dietary_taboo, usage_notes FROM zyt_tcm_prescription LIMIT 1");
|
|
$result = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
|
|
echo "<pre>";
|
|
print_r($result);
|
|
echo "</pre>";
|
|
echo "<p style='color: green;'>✓ PDO查询成功!</p>";
|
|
} catch (\Exception $e) {
|
|
echo "<p style='color: red;'>✗ PDO查询失败: " . $e->getMessage() . "</p>";
|
|
}
|
|
|
|
echo "<h2>使用ThinkPHP Db类查询</h2>";
|
|
try {
|
|
$result = $db->query("SELECT id, usage_time, usage_way, dietary_taboo, usage_notes FROM zyt_tcm_prescription LIMIT 1");
|
|
echo "<pre>";
|
|
print_r($result);
|
|
echo "</pre>";
|
|
echo "<p style='color: green;'>✓ ThinkPHP Db查询成功!</p>";
|
|
} catch (\Exception $e) {
|
|
echo "<p style='color: red;'>✗ ThinkPHP Db查询失败: " . $e->getMessage() . "</p>";
|
|
}
|
|
?>
|