douran6443 2015-09-21 09:12
浏览 119
已采纳

在字符串中查找字符串的出现

I am trying to find out whether a string contains any of the strings from a particular table of strings and assigning the string that is found to be a match to a variable and then inserting said variable into a database. However it doesn't seem to be able to find a match even when there clearly is a match. Any help would be appreciated.

This is the code:

$stringToMatch = 'Good Morning';
$string_list = "SELECT string FROM strings";
$resultStringList = mysqli_query($link, $string_list) or   die(mysqli_error($link));
$string_name = "Test";
while ($row = mysqli_fetch_array($resultStringList)) {
if (stristr($StringToMatch, $row)) {
$string_name = $row;
} 
}
mysqli_query($link, "INSERT INTO table (string) VALUES ('$string_name')") or die(mysqli_error($link));

At this point, what would appear in the table is "Test" in the string column. Ideally it should insert the word "Morning" instead which can be found in the table strings

  • 写回答

2条回答 默认 最新

  • dongou6632 2015-09-21 09:17
    关注
    stristr()
    

    Returns all of haystack starting from and including the first occurrence of needle to the end.

    You are fetching array form your query. SO need to pass string to your stristr function to match

     while ($row = mysqli_fetch_array($resultStringList)) {
        if (stristr($StringToMatch, $row['string'])) {// need to pass string instead of array
        $string_name = $row['string'];// here pass string instead if array
        } 
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?