在我的mysql数据库中有2个表。 1.A 2.B
在表A中,列是id(varchar)主键,位置(varchar),日期(日期) 在表B中,列是id(varchar)外键,活动(varchar),cost(int)
我使用搜索框,如果两个表都是字段匹配,则显示结果。 当我使用数字时,它可以正常工作,但是当我使用字母数字值时,它就不起作用了。
所以请帮助我 提前致谢。
答案 0 :(得分:1)
首先:使用varchar作为id可能是一个坏主意。如果您希望存储在现在存储在id-field中的位置/活动中的某种信息,您可能需要考虑添加另一个字段,使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."'
不是'和''围绕值,这些很重要,因为你需要发送一个字符串mysql,所以需要引用它;)
答案 1 :(得分:0)
这不适合你吗?
SELECT *
from A
inner join B on B.id = A.id
WHERE A.id = 'whatyoursearchingfor'