MySQLDict.php,如何高效构建长尾关键词查询?
- 内容介绍
- 文章标签
- 相关推荐
本文共计482个文字,预计阅读时间需要2分钟。
phpMySQLDict.php中配置数据库连接:- 连接信息:主机、用户名、密码、数据库名- 不显示的表和字段- 数据库前缀- 创建mysqli连接实例
MySQLDict.php'', 'username' => '', 'password' => '', 'database' => '', ]; $no_show_table = []; $no_show_field = []; $prefix = 'db'; $mysqli = new mysqli($config['host'], $config['username'], $config['password'], $config['database']); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } mysqli_query($mysqli, 'SET NAMES utf8'); $table_result = mysqli_query($mysqli, 'show tables'); //get all table while ($row = mysqli_fetch_array($table_result)) { if (@!in_array($row[0], $no_show_table)) { $tables[]['TABLE_NAME'] = $row[0]; } } //replace prefix if (@$_GET['prefix']) { foreach ($tables as $key => $val) { $tableName = $val['TABLE_NAME']; $string = explode('_', $tableName); if (@$string[0] != $prefix) { $string[0] = $prefix; $newTableName = implode('_', $string); mysqli_query($mysqli, 'rename table ' . $tableName . ' TO ' . $newTableName); } } echo "replace success!"; exit(); } foreach ($tables as $k => $v) { $sql = 'SELECT * FROM '; $sql .= 'INFORMATION_SCHEMA.TABLES '; $sql .= 'WHERE '; $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$config['database']}'"; $table_result = mysqli_query($mysqli, $sql); while ($t = mysqli_fetch_array($table_result)) { $tables[$k]['TABLE_COMMENT'] = $t['TABLE_COMMENT']; } $sql = 'SELECT * FROM '; $sql .= 'INFORMATION_SCHEMA.COLUMNS '; $sql .= 'WHERE '; $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$config['database']}'"; $fields = array(); $field_result = mysqli_query($mysqli, $sql); while ($t = mysqli_fetch_array($field_result)) { $fields[] = $t; } $tables[$k]['COLUMN'] = $fields; } mysqli_close($mysqli); $html = ''; // show tables list foreach ($tables as $k => $v) { $html .= '
' . ($k + 1) . '、' . $v['TABLE_COMMENT'] . ' (' . $v['TABLE_NAME'] . ')
' . "\n"; $html .= ' ' . "\n"; $html .= ' ' . "\n"; $html .= ' ' . "\n"; $html .= 'MySQL Dict
本文共计482个文字,预计阅读时间需要2分钟。
phpMySQLDict.php中配置数据库连接:- 连接信息:主机、用户名、密码、数据库名- 不显示的表和字段- 数据库前缀- 创建mysqli连接实例
MySQLDict.php'', 'username' => '', 'password' => '', 'database' => '', ]; $no_show_table = []; $no_show_field = []; $prefix = 'db'; $mysqli = new mysqli($config['host'], $config['username'], $config['password'], $config['database']); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } mysqli_query($mysqli, 'SET NAMES utf8'); $table_result = mysqli_query($mysqli, 'show tables'); //get all table while ($row = mysqli_fetch_array($table_result)) { if (@!in_array($row[0], $no_show_table)) { $tables[]['TABLE_NAME'] = $row[0]; } } //replace prefix if (@$_GET['prefix']) { foreach ($tables as $key => $val) { $tableName = $val['TABLE_NAME']; $string = explode('_', $tableName); if (@$string[0] != $prefix) { $string[0] = $prefix; $newTableName = implode('_', $string); mysqli_query($mysqli, 'rename table ' . $tableName . ' TO ' . $newTableName); } } echo "replace success!"; exit(); } foreach ($tables as $k => $v) { $sql = 'SELECT * FROM '; $sql .= 'INFORMATION_SCHEMA.TABLES '; $sql .= 'WHERE '; $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$config['database']}'"; $table_result = mysqli_query($mysqli, $sql); while ($t = mysqli_fetch_array($table_result)) { $tables[$k]['TABLE_COMMENT'] = $t['TABLE_COMMENT']; } $sql = 'SELECT * FROM '; $sql .= 'INFORMATION_SCHEMA.COLUMNS '; $sql .= 'WHERE '; $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$config['database']}'"; $fields = array(); $field_result = mysqli_query($mysqli, $sql); while ($t = mysqli_fetch_array($field_result)) { $fields[] = $t; } $tables[$k]['COLUMN'] = $fields; } mysqli_close($mysqli); $html = ''; // show tables list foreach ($tables as $k => $v) { $html .= '

