Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用带通配符的LIKE CONCAT_Php_Mysql - Fatal编程技术网

Php 使用带通配符的LIKE CONCAT

Php 使用带通配符的LIKE CONCAT,php,mysql,Php,Mysql,我使用的是标准的灯光环境。我直接从mysql.com网站上取了一个例子,并将其改编为我的表结构 $sql = 'SELECT cat_name FROM cats WHERE cat_name LIKE concat('%', 'Artist', '%') '; 但这不起作用。。。屏幕是空白的,甚至浏览器中的“查看源代码”也是空白的 我的问题是,尽管我在StackOverflow和其他论坛上找到的所有示例都使用单引号(“%”),但只有在我使用双引号(如“%”)时才有效。使用双引号作为sql

我使用的是标准的灯光环境。我直接从mysql.com网站上取了一个例子,并将其改编为我的表结构

$sql = 'SELECT cat_name
FROM cats
WHERE cat_name LIKE concat('%', 'Artist', '%') ';
  • 但这不起作用。。。屏幕是空白的,甚至浏览器中的“查看源代码”也是空白的

我的问题是,尽管我在StackOverflow和其他论坛上找到的所有示例都使用单引号(“%”),但只有在我使用双引号(如“%”)时才有效。

使用双引号作为sql字符串的字符串分隔符

$sql = "SELECT cat_name
        FROM cats
        WHERE cat_name LIKE concat('%', 'Artist', '%')";

如果您对这两个字符串(您的sql字符串和sql字符串中的字符串)使用相同的字符串分隔符,那么这将在您需要之前终止sql字符串。

有效。我不知道为什么,因为单引号在我尝试过的所有其他示例中都有效。但我很高兴它成功了!谢谢。请看问题中的sql字符串。看看单词的颜色。看看我的sql字符串的颜色。全是深红色的。如果你明白为什么,你就明白问题所在。我现在明白了。非常感谢!