Mysql varchar comparing


Mysql varchar comparing

在我的mysql数据库中有两个表。1.A2.B

在表A中,列是id(varchar)主键、location(varchar)、date(date)在表B中,列是id(varchar)外键、activity(varchar)、cost(int)

我使用搜索框,若两个表的id字段匹配,则显示结果。当我使用数字时,它还可以,但当我使用字母数字值时,它就不起作用了。

所以请帮帮我提前谢谢。

首先:使用varchar作为id可能是个坏主意。如果您想将某种信息存储在您现在存储在id字段中的位置/活动中,您可能需要考虑添加另一个字段,使id成为一个整数,然后只比较整数。

也就是说,它应该只与以下内容一起工作:

SELECT *  
FROM A, B  
WHERE A.id = B.id AND A.fieldthatwassearched = '".$value_from_php."' ;

和:

SELECT *
FROM A, B
WHERE A.id = B.id AND A.id = '".$value_from_php."'

不是值周围的"answers",这些都很重要,因为你需要向mysql发送一个字符串,所以它需要被引用;)

这对你不起作用吗?

SELECT *
from A
inner join B on B.id = A.id
WHERE A.id = 'whatyoursearchingfor'