Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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 MySQL使用WHERE子句和多个LIKE_Php_Mysql_Sql - Fatal编程技术网

Php MySQL使用WHERE子句和多个LIKE

Php MySQL使用WHERE子句和多个LIKE,php,mysql,sql,Php,Mysql,Sql,我有一个简单的名称表,一些以字母开头,一些以数字开头。我试图过滤掉以数字开头的名字,只选择字母表中以字母开头的名字 以下是我的一些尝试,但未能产生预期的结果: SELECT name from subjects WHERE name LIKE ('A%') AND WHERE name LIKE ('B%') AND WHERE name LIKE ('C%')...; SELECT name from subjects WHERE name LIKE ('A%',

我有一个简单的名称表,一些以字母开头,一些以数字开头。我试图过滤掉以数字开头的名字,只选择字母表中以字母开头的名字

以下是我的一些尝试,但未能产生预期的结果:

SELECT name 
  from subjects 
 WHERE name LIKE ('A%') AND 
 WHERE name LIKE ('B%') AND 
 WHERE name LIKE ('C%')...;

SELECT name 
  from subjects 
 WHERE name LIKE ('A%', 'B%', 'C%', ...);

SELECT name 
  from subjects 
 WHERE name LIKE ('A%') AND ('B%') AND ('C%') ...;
提前感谢您的帮助。我非常感激。在我学习使用PHP和MySQL编程时,堆栈溢出多次成为我的救星。
Lori

更简单的解决方案是使用运算符,而不是像s那样传递多个

尝试:


这将选择名称以小写和大写字母开头的所有记录。

您遇到的问题是您包含了多个where。简单地移除它们

SELECT name 
  from subjects 
 WHERE name LIKE ('A%') AND 
 name LIKE ('B%') AND 
 name LIKE ('C%')...;
请尝试Regexp:

SELECT name 
FROM subjects 
WHERE name
REGEXP '[A-Za-z]'

非常感谢。我以为有一种方法可以使用正则表达式,但那对我来说是一个新世界。非常感谢。我明白了,我的语法有点错误。我现在明白了如何做到这一点,但正则表达式似乎是我最好的选择。它们应该是ORs,而不是ANDs。
SELECT name 
FROM subjects 
WHERE name
REGEXP '[A-Za-z]'