Php 为什么这个mysql查询不能在服务器上运行
此代码使用服务器和本地phpmyadmin进行了测试Php 为什么这个mysql查询不能在服务器上运行,php,mysql,encoding,webserver,Php,Mysql,Encoding,Webserver,此代码使用服务器和本地phpmyadmin进行了测试 在本地主机上,它按预期返回结果 在服务器上,它返回了一个良好的结果,但当传递dr_名称时,它返回空结果 代码如下: 从医生中选择*,其中医生的姓名为“%غا%”,专科=12,州=6 服务器和本地之间唯一的区别是服务器mysql引擎是本地主机上的myisam和innodb 这是CREATETABLE语句: CREATE TABLE IF NOT EXISTS `doctor` ( `id` bigint(20) NOT NULL AUT
- 在本地主机上,它按预期返回结果
- 在服务器上,它返回了一个良好的结果,但当传递dr_名称时,它返回空结果 代码如下:
从医生中选择*,其中医生的姓名为“%غا%”,专科=12,州=6
服务器和本地之间唯一的区别是服务器mysql引擎是本地主机上的myisam和innodb
这是CREATETABLE语句:
CREATE TABLE IF NOT EXISTS `doctor` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`dr_name` varchar(65) NOT NULL,
`dr_name_e` varchar(65) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`unique_name` varchar(75) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`pass` char(40) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`nickname` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`specialization` int(11) NOT NULL,
`state` tinyint(4) NOT NULL,
`scientific_degree` int(11) DEFAULT NULL,
`university` int(11) DEFAULT NULL,
`grad_year` smallint(6) DEFAULT NULL,
`show_degree` tinyint(1) DEFAULT NULL,
`show_univ` tinyint(1) DEFAULT NULL,
`show_grad_year` tinyint(1) DEFAULT NULL,
`appendices` varchar(1000) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`picture` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`active` tinyint(1) NOT NULL DEFAULT '0',
`views` bigint(20) DEFAULT '0',
`search_result` bigint(20) DEFAULT '0',
`gender_male` tinyint(1) DEFAULT NULL,
`agent` int(11) DEFAULT NULL,
`next_step` tinyint(4) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `unique_name` (`unique_name`),
KEY `university` (`university`),
KEY `scientific_degree` (`scientific_degree`),
KEY `specialization` (`specialization`),
KEY `agent` (`agent`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=31 ;
两个表中的数据是否相同?是否检查了表的排序规则?是否检查了客户端字符集?表的语法是什么?好的,确定了吗?你能在本地主机和服务器上发布表的创建语法吗?您还可以检查两个mysql引擎的版本吗?