首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL在web服务器和phpmyadmin查询中的不同结果

MySQL在web服务器和phpmyadmin查询中的不同结果
EN

Stack Overflow用户
提问于 2012-09-25 04:05:41
回答 2查看 1.5K关注 0票数 1

我有一个像这样的字段:

情报: 0/75

我有一个表单,用户可以搜索这个字符串的值。在我的实时web服务器上,这是一个查询:

代码语言:javascript
复制
SELECT * FROM `test` WHERE `id` IS NOT NULL AND `file` REGEXP CONCAT('Intelligence(: | : )([', :var2, '-9]|[0-9]{2,3})[ ]{0,1}/[ ]{0,1}([', :var2, '-9]|[0-9]{1,3})')
$var2 = $_POST['int'];
$stmt->bindValue(':var2', $var2);

:var2是$_POST值。我一直在使用4的案例。这是插入4时的文字regexp:

代码语言:javascript
复制
Intelligence(: | : )([4-9]|[0-9]{2,3})[ ]{0,1}/[ ]{0,1}([4-9]|[0-9]{1,3})

因为我的数据库中的字段是Intelligence: 0/75,所以这个查询不应该产生任何结果。但它确实在我的实时网络服务器上。它返回字段Intelligence: 0/75

如果我在phpmyadmin中运行这个确切的查询,就不会得到任何结果。我在文本编辑器中排列了来自phpmyadmin和我的服务器的查询,它们是相同的。这样我就不会疯了,下面是来自phpmyadmin的查询拷贝/粘贴:

代码语言:javascript
复制
SELECT *
FROM `test`
WHERE `id` IS NOT NULL
AND `file`
REGEXP CONCAT( 'Intelligence(: | : )([4-9]|[0-9]{2,3})[ ]{0,1}/[ ]{0,1}([4-9]|[0-9]{1,3})' )

有人能明白为什么这会产生两种不同的结果吗。结果?

更新:

我想我已经把它缩小到PHP了。如果我将绑定到:var2的值更改为

代码语言:javascript
复制
$stmt->bindValue(':var2', '6284');

结果是一样的。返回带有Intelligence: 0/75的所有行。

如果我删除bindValue代码,所以没有任何绑定到:var2,结果仍然是一样的!

print_r($stmt) =

代码语言:javascript
复制
SELECT * FROM `test` WHERE `id` IS NOT NULL AND `file` REGEXP
                    CONCAT('(INT:[  ]{1,2}([', :var2, '-9]|[0-9]{2,3})[  ]{1,2}/[  ]{1,2}([', :var2, '-9]|[0-9]{1,3})|Intelligence(: | : )([', :var2, '-9]|[0-9]{2,3})[ ]{0,1}/[ ]{0,1}([', :var2, '-9]|[0-9]{1,3}))')
EN

回答 2

Stack Overflow用户

发布于 2012-09-25 05:48:33

北欧人

当您说“在我的活动web服务器上”时,您的意思是在PHP呈现的web页面上,还是在SQL命令行实用程序上?

sql记录查询。您将能够比较执行哪些确切的查询!日志查询(MySQL文档)

文件列中似乎有更多的数据单位。通常,尝试在每一列中有一个数据单元,并尽可能地尊重标准表单(归一化)。您将有更快,更简单的查询,没有正则表达式。然而,在你的情况下,这可能是不可能的。

票数 1
EN

Stack Overflow用户

发布于 2012-09-25 07:02:08

我想,问题是不同的。

print_r()var_dump()上执行$stmt,以获得通过php执行的准确查询,以确保regex部分按原样运行,而不会被任何其他操作(如bind )在中间进行调整。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12576055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档