php - 检查数据库中是否存在分隔符之间的短语的查询

标签 php mysql

请原谅这个糟糕的问题标题。

我有这个 PHP 字符串,想要检查 MySQL 数据库是否存在其任何内容。

Awanto 3/Makam/Lone

我想检查字符串中的任何名称(即 Awanto 3、Makam 或 Lone)是否存在于我的数据库表中。永远不会存在“Awanto 3/Makam/Lone”,但可能存在“Awanto 3”、“Makam”或“Lone”存在的情况。

表名称为“artists”,将检查的列为“artist”

我每天都会对大约数百个这样的查询执行此操作,并且“艺术家”表中有 2-3000 行。

最好的方法是什么?

谢谢!

最佳答案

由于分隔符之间的字符串部分是完整的艺术家,而不仅仅是它的一部分,我会做类似的事情

$search="Awanto 3/Makam/Lone";

//transforms this to "Awanto 3','Makam','Lone"
$list=str_replace('/',"','",mysql_real_escape_string($search, $dbconnection));
$sql="select * from artists where artist in ('$list')";
//query and fetch

关于php - 检查数据库中是否存在分隔符之间的短语的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8935385/

相关文章:

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

c# - 在 c# (windows) 应用程序中不存在控件时显示 .gif 动画

MySQL Between是不是在抓取结束日期?

MySQL 从一个表查询 GROUPing,排除在另一个子查询中找到的结果

mysql - Cell中当前Insert的Auto_Increment的使用值

php - 为什么要在注释中声明 PHP 变量类型?

php - 激活 PHP 函数的提交按钮

php - 使用 Zend Framework 应用程序将 subview 加载到 IFrame 中

MS sql 服务器中的 mysql REGEXP

mysql - 带订单的 SQL 查询不起作用