Php Mysql查询匹配,即使它们具有不同的值

Php Mysql查询匹配,即使它们具有不同的值,php,mysql,sql,Php,Mysql,Sql,category\u id是inttype&具有类似于1,2,3的值。。 但是,对于像“2dress”这样的值,它会与category\u id='2'匹配 为什么以及如何解决这个问题?有人吗?在比较字符串值和int列时,MySql会自动截断后跟数字的值。在您的示例(2dress)中,MySql会截断后跟2的值。MySQL会把你的查询看作是 $search_sql = "select category_name from category where category_id='2Dresses'

category\u id
int
type&具有类似于1,2,3的值。。 但是,对于像“
2dress
”这样的值,它会与
category\u id='2'
匹配


为什么以及如何解决这个问题?有人吗?

在比较字符串值和int列时,MySql会自动截断后跟数字的值。在您的示例(2dress)中,MySql会截断后跟2的值。MySQL会把你的查询看作是

$search_sql = "select category_name from category where category_id='2Dresses'"; 
如果字符串以字母或非数字值开头,它肯定不会工作 比如说

"select category_name from category where category_id=2";
mysql截断整个字符串值,因此将上述查询视为

"select category_name from category where category_id='d2Dresses'";

它将返回Emptyset…

在比较字符串值和int列时,MySql会自动截断后跟数字的值。在您的示例(2DRESS)中,MySql会截断后跟2的值。MySQL会把你的查询看作是

$search_sql = "select category_name from category where category_id='2Dresses'"; 
如果字符串以字母或非数字值开头,它肯定不会工作 比如说

"select category_name from category where category_id=2";
mysql截断整个字符串值,因此将上述查询视为

"select category_name from category where category_id='d2Dresses'";

它将返回Emptyset…

更新您的问题并显示相关的表格模式。。请更新您的问题并显示您的相关表格架构。。请编辑我的问题,实际上我的问题是为什么字符串与整数列匹配,即使该列具有不同的值。我编辑了我的问题,实际上我的问题是为什么字符串与整数列匹配,即使该列具有不同的值