php - Mysql varchar比较

标签 php mysql

在我的 mysql 数据库中有 2 个表。 1.A 2.B

在表A中列是id(varchar)primary key,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."'

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

关于php - Mysql varchar比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9974095/

相关文章:

php - 使用 count(*) 与 num_rows

sql - 表名有空格的优缺点

sql - 错误 1005 (HY000) : Can't create table when using foreign keys

php - 如何从 MySQL 表中获取值 - PHP

php - 使用纯 JavaScript 获取 PHP 生成的 div 的高度

php - file->getMimeType() 始终使用 Zend Framework 返回 application/octet-stream

php - Laravel : Check with Observer if Column was Changed on Update

python - 执行 python 和 sql 代码将变量发送到数据库后出现此错误

javascript - 在 HTML 中传递多个参数 onMouseover 事件处理程序

php - jReject 在 IE7 中不起作用