2012-02-15 29 views
0

我需要将大字符串与mysqlDB中列的字段进行匹配。像Mysql:在预期条件接近“rlike”的上下文中指定的非布尔类型的表达式

%ERROR-kkl_ub {} :(来自YAMios):目标(名称= sdasdays.s0sda.rindasdth.sbo98.sbssdao_sad)未注册。

我把这个字符串传给变量$ signautre。

和我使用这个mysql命令

$query = "select id, name, status "."from bucket "."where name rlike '$signature'"; 
    &execQuery($query); 

我得到的错误:致命错误:操作失败使用ExecQuery() - 错误的使用ExecQuery。一个非布尔类型的表达式,指定在一个上下文中,其中一个条件是预期的,接近'rlike'

我甚至无法使用“rlike”进行简单匹配。 即使这个命令错误与相同的致命错误。

$query = "select id, name, status "."from bucket "."where name rlike '^n'"; 

需要帮助...

+0

为什么你需要'rlike'?请在“我需要匹配大字符串”中定义单词“匹配” – zerkms 2012-02-15 03:55:50

+0

我的数据库中的'名称'列有大字符串,就像上面给出的那样。我会得到我的客户的这种模式,然后我需要与列'name'中的值匹配,并从其他字段(如id和状态)中提取相应的数据。 rlike和正则表达式,给我同样的错误。 我不是这些你有没有办法做到这一点? – shreyasGowda 2012-02-15 04:03:03

+0

显然模式不正确 – zerkms 2012-02-15 04:30:08

回答

0

根据在评论你的解释,你只需要=

$query = "select id, name, status from bucket where name = '" . mysql_real_escape_string($signature) . "'"; 

在这种情况下,MySQL的检查,如果name正好等于$signature

ps:& in &execQuery($query);没有意义

+0

我我正在编写一个perl脚本,使用HSDapi来访问数据库。它说这个子例程(mysql_real_escape_string)没有定义。我需要安装哪个API才能访问这个子例程? – shreyasGowda 2012-02-15 05:06:34

+0

我以为你用'php'(因为指定了'mysqli')。那么 - 你需要找到如何在perl中引用查询字符串 – zerkms 2012-02-15 05:20:04

相关问题