检查MySQL中单行中字符串中是否存在数字

时间:2016-02-18 13:01:02

标签: php mysql

所以我的MySQL数据库中有字符串
 字符串位于一行: 25 12 6 3 780

- 我想检查一下变量 $ data =' 6' ,是否在上面的字符串中;
如果为TRUE则返回数据的值,否则返回FALSE;

SELECT * FROM table_name WHERE column_name LIKE '%$data%'

不起作用,因为它返回所有字符串...
有什么想法吗?

2 个答案:

答案 0 :(得分:2)

这将返回特定叮咬中确切数据存在的次数:

解决方案1:

$query = "
    SELECT COUNT(*) AS dataCount 
    FROM table_name t 
    WHERE FIND_IN_SET('".$data."',REPLACE(t.column_name,' ',',')) > 0";

php version(1):

$result=mysql_query("SELECT COUNT(*) AS dataCount FROM table_name t WHERE FIND_IN_SET('".$data."',REPLACE(t.column_name,' ',',')) > 0");
$data=mysql_fetch_assoc($result);
$value=$data['dataCount'];

这将返回精确数据所在的所有字符串:

解决方案2:

$query = "
    SELECT * 
    FROM table_name t 
    WHERE FIND_IN_SET('".$data."',REPLACE(t.column_name,' ',',')) > 0";

php version(2):

  $result=mysql_query("SELECT * FROM table_name t WHERE FIND_IN_SET('".$data."',REPLACE(t.column_name,' ',',')) > 0");
  $data=mysql_fetch_row($result);

答案 1 :(得分:0)

您可以使用if(exists(...))

 select if (exists (SELECT * 
           FROM table_name 
           WHERE column_name LIKE '%$data%'), 1,0) ;