我知道“表”名称是区分大小写的(取决于操作系统、linux或windows),但是我发现字段名称也区分大小写。我读过一些地方说他们不是。我找到了很多关于表名的信息,但关于FIELDNAMES的信息不多。
然而,这个例子给出了一个错误抱怨。
fieldname = "Name“,如果我执行以下操作-它会出错
编辑:忘记:正在寻找运行时修复程序,因为这不是我的数据库。
SELECT * FROM some_table WHERE name = 'something'除非我将'name'更改为'Name',否则会得到一个错误。2个问题如果这是我的一个错误,我做错了什么?如果没有,是否设置了一个标志来控制这一点。似乎当开发人员摆弄数据库时,有时他们会因为w/e的原因而改变字段,最终以camelCase结束。
似乎我不得不编写冗余的代码来适应大小写敏感的搜索。(这就是为什么我认为我可能错了)
发布于 2016-07-11 02:28:42
这是基于你的评论,PHP是区分大小写的,带有echo $result‘’Title‘;
下面是一个PHP函数,它允许您在PHP中对关联数组使用不区分大小写的索引。
$test = array("Name"=>"Russell");
echo value($test,"name");
function value(&$row,$field) {
// Get the value of a field.
foreach($row as $key=>$value) {
if (strcasecmp($key,$field)==0) {
return $value;
}
}
throw new Exception("Field $field wasn`t found.");
}发布于 2016-07-11 02:22:38
我认为您机器上mysql的lower_case_table_names系统变量设置为0,表示区分大小写。
如果设置为0,则按指定的方式存储表名,并且比较区分大小写。如果设置为1,表名将以小写形式存储在磁盘上,并且比较不区分大小写。如果设置为2,表名将以给定的形式存储,但以小写形式进行比较。此选项也适用于数据库名称和表别名。
请找到下面的链接以供参考。http://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivity.html
我希望这能解决你的问题
https://stackoverflow.com/questions/38294799
复制相似问题