首页 > 解决方案 > 无法从表名中的大写字母替换为小写字母的 mySQL 表中读取数据 (PHP) (Wo_Langs -> wo_langs)

问题描述

该网站是用 PHP 编写的。连接到服务器(debian 9)上的数据库如下:

$sqlConnect = $wo['sqlConnect'] = mysqli_connect ($sql_db_host, $sql_db_user, $sql_db_pass, $sql_db_name, 3306);

在 mySQL (1) 数据库中的服务器上,表名具有大写字母(例如:Wo_Langs)。我的本地主机在 Windows 7 上,它不支持区分大小写。当我将数据库从服务器 (1) 导入到 localhost 时,表名中的所有大写字母都将替换为小写字母(例如:表名 Wo_Langs -> wo_langs)。在将数据库从localhost(2)导入服务器数据库(2)中的服务器时,对localhost上的数据库进行更改后,所有表名都以小写形式获得。托管的技术支持向我保证,他们在 mySQL 服务器的设置中设置了 lower_case_table_names = 0。但无论如何,当重命名表名 Wo_Langs -> wo_langs 时,该表中的数据不会显示在站点上。

标签: phpmysql

解决方案


您必须更改 php 代码中的大小写以及创建查询以管理 CRUD 操作的位置。更改为与您的环境 Windows、Linux 中的实际表列名称匹配的大小写......


推荐阅读