MySQLDict.php,如何高效构建长尾关键词查询?

2026-04-03 05:011阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计482个文字,预计阅读时间需要2分钟。

MySQLDict.php,如何高效构建长尾关键词查询?

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 .= ' 字段名' . "\n"; $html .= ' 数据类型' . "\n"; $html .= ' 默认值' . "\n"; $html .= ' 允许非空' . "\n"; $html .= ' 自动递增' . "\n"; $html .= ' 备注' . "\n"; $html .= ' ' . "\n"; foreach ($v['COLUMN'] as $f) { if (@!is_array($no_show_field[$v['TABLE_NAME']])) { $no_show_field[$v['TABLE_NAME']] = array(); } if (@!in_array($f['COLUMN_NAME'], $no_show_field[$v['TABLE_NAME']])) { $html .= ' ' . "\n"; $html .= ' ' . $f['COLUMN_NAME'] . '' . "\n"; $html .= ' ' . $f['COLUMN_TYPE'] . '' . "\n"; $html .= ' ' . $f['COLUMN_DEFAULT'] . '' . "\n"; $html .= ' ' . $f['IS_NULLABLE'] . '' . "\n"; $html .= ' ' . ($f['EXTRA'] == 'auto_increment' ? '是' : '') . '' . "\n"; $html .= ' ' . $f['COLUMN_COMMENT'] . '' . "\n"; $html .= ' ' . "\n"; } } $html .= ' ' . "\n"; $html .= ' ' . "\n"; } ?> MySQL Dict

MySQL Dict

MySQLDict.php,如何高效构建长尾关键词查询?

本文共计482个文字,预计阅读时间需要2分钟。

MySQLDict.php,如何高效构建长尾关键词查询?

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 .= ' 字段名' . "\n"; $html .= ' 数据类型' . "\n"; $html .= ' 默认值' . "\n"; $html .= ' 允许非空' . "\n"; $html .= ' 自动递增' . "\n"; $html .= ' 备注' . "\n"; $html .= ' ' . "\n"; foreach ($v['COLUMN'] as $f) { if (@!is_array($no_show_field[$v['TABLE_NAME']])) { $no_show_field[$v['TABLE_NAME']] = array(); } if (@!in_array($f['COLUMN_NAME'], $no_show_field[$v['TABLE_NAME']])) { $html .= ' ' . "\n"; $html .= ' ' . $f['COLUMN_NAME'] . '' . "\n"; $html .= ' ' . $f['COLUMN_TYPE'] . '' . "\n"; $html .= ' ' . $f['COLUMN_DEFAULT'] . '' . "\n"; $html .= ' ' . $f['IS_NULLABLE'] . '' . "\n"; $html .= ' ' . ($f['EXTRA'] == 'auto_increment' ? '是' : '') . '' . "\n"; $html .= ' ' . $f['COLUMN_COMMENT'] . '' . "\n"; $html .= ' ' . "\n"; } } $html .= ' ' . "\n"; $html .= ' ' . "\n"; } ?> MySQL Dict

MySQL Dict

MySQLDict.php,如何高效构建长尾关键词查询?