Php Mysql请求()在和之后不起作用
当我有此请求时:Php Mysql请求()在和之后不起作用,php,mysql,regex,Php,Mysql,Regex,当我有此请求时: SELECT fr,text_id FROM texts WHERE ( fr REGEXP '[>.:, ]le[<.:, ]' OR fr REGEXP '^le[[:space:]]?' OR fr REGEXP '[[:space:]]le[[:space:]]?$' ) AND fr REGEXP '[>.:, ]la[<.:, ]' '' ORDER BY text_id DESC LIMIT 0, 20 它起作用
SELECT fr,text_id FROM texts
WHERE (
fr REGEXP '[>.:, ]le[<.:, ]' OR fr REGEXP '^le[[:space:]]?'
OR fr REGEXP '[[:space:]]le[[:space:]]?$'
) AND fr REGEXP '[>.:, ]la[<.:, ]' ''
ORDER BY text_id DESC LIMIT 0, 20
它起作用了
但是,当我把它放在电脑上时,它就不起作用了:
SELECT fr,text_id FROM texts
WHERE (
fr REGEXP '[>.:, ]le[<.:, ]' OR fr REGEXP '^le[[:space:]]?'
OR fr REGEXP '[[:space:]]le[[:space:]]?$'
) AND (fr REGEXP '[>.:, ]la[<.:, ]') ''
ORDER BY text_id DESC LIMIT 0, 20
放置的目的是将所有其他单词或与一起放置,因此请求只显示结果,其中通过搜索,键入的所有单词都出现在文本中,。和其他角色
因此,理想情况下,这应该是可行的:
SELECT fr,text_id FROM texts
WHERE (
fr REGEXP '[>.:, ]le[<.:, ]'
OR fr REGEXP '^le[[:space:]]?'
OR fr REGEXP '[[:space:]]le[[:space:]]?$'
) AND (
fr REGEXP '[>.:, ]la[<.:, ]'
OR fr REGEXP '^la[[:space:]]?'
) OR fr REGEXP '[[:space:]]la[[:space:]]?$'
) '' ORDER BY text_id DESC LIMIT 0, 20
如果这有帮助的话,我可以使用这个循环来获取字数:
for($i=0;$i<$wordsLenght;$i++)
{
if($i !== 0)
{
$recherche .= " )AND (".$lang." REGEXP '[>.:, ]".$words[$i]."[<.:, ]') ";
}
else
{
if($wordsLenght == 1)
{
$recherche = "".$lang." REGEXP '[>.:, ]".$words[0]."[<.:, ]' OR (".$lang."
REGEXP '^".$words[0]."[[:space:]]?') OR ".$lang." REGEXP
'[[:space:]]".$words[0]."[[:space:]]?$'";
}
else
{
$recherche = "(".$lang." REGEXP '[>.:, ]".$words[0]."[<.:, ]' OR ".$lang."
REGEXP '^".$words[0]."[[:space:]]?' OR ".$lang." REGEXP
'[[:space:]]".$words[0]."[[:space:]]?$'";
}
}
}
它在一个函数中用作另一个函数的参数,该函数的一部分对应于WHERE之后的mysql请求 上一次之后,您是否尝试删除这些看似多余的内容
SELECT fr,text_id FROM texts
WHERE (
fr REGEXP '[>.:, ]le[<.:, ]' OR fr REGEXP '^le[[:space:]]?'
OR fr REGEXP '[[:space:]]le[[:space:]]?$'
) AND (fr REGEXP '[>.:, ]la[<.:, ]')
ORDER BY text_id DESC LIMIT 0, 20
您希望如何处理这些空的?请尝试从fr REGEXP'[>。:,]le[.:,]la的文本中选择fr,text_id[这源于以前的编码,我不想删除它,以防它对应用程序的其余部分产生影响,大型项目让我相当谨慎,我检查所有这些东西,一旦一切正常,我会删除它,更好的安心^^这是其余部分工作的基础!你为我节省了很多时间,减少了压力,非常感谢你!没问题,这看起来像是一场噩梦,我将把它作为一种恭维^^到目前为止,我渴望快速进步,多亏了你,这让我充满了灵感!