我有一个循环,它查询 mysql 进行搜索,但搜索将在查询结束时更改。我发现我的编码是我现在没有的是我无法将变量重新分配给新的搜索查询,或者无论如何都不正确。
我添加了 echo 来看看它在做什么。
假设 John 被分配到 $preg_split
我想要做的是将一个字符与数据库匹配,如果数据库中的第一个字符(例如 J 匹配)然后从 $pre_split 分配第二个字符,它是 o 所以 $char 将是 jo
所以开头的变量 $char 应该用 jo 更新
相反,出于某种原因,我确信我只是没有正确编写代码,因为它回显不是 jo ..
所以我有点困惑为什么它是第二个字符而不是第一个字符。
$NG_implode = implode("", $preg_split);
$NG_split = str_split($NG_implode, 1);
$i = '0';
$ia = '1';
$ib = '0';
$ic = '1';
$char = $NG_split[$ib];
foreach ($NG_split as $char)
{
$NG_select_like = "SELECT word FROM checklist_filter WHERE word LIKE '".$char."%'";
$NG_query = mysql_query($NG_select_like) or die(mysql_error());
$NG_row = mysql_fetch_row($NG_query);
$chars = str_split($char, 1);
$row = str_split($NG_row[0], 1);
if ($chars[$i] == $row[$i])
{
$char = $char.$NG_split[$ia];
$ia++;
$i++;
if ($char == $NG_row[0]){break;}
}else{$ib++; $char = $NG_split[$ib];}
}