omar dealo
omar dealo

Reputation: 93

Using foreach with mysql results array

I want to search for name in text but I have this error:

Warning: Invalid argument supplied for foreach()

    $users = $db->query_read(" SELECT username FROM " . TABLE_PREFIX . " user "); 
    $nameuser=array();
    while ($results = $db->fetch_array($users, MYSQLI_ASSOC)) 
    {
        $nameuser[] = $results['username'];
    }
    foreach ($nameuser as $name)
    {
        if(strstr($post['message'], $name))
        {
            // create new PM
            $pmdm =& datamanager_init('PM', $vbulletin, ERRTYPE_ARRAY);
            $pmdm->set_info('is_automated', true);
            $pmdm->set('fromuserid', 1);
            $pmdm->set('fromusername', admin);
            $pmdm->set('title', 'some title');
            $pmdm->set('message', 'some text');
            $botpermissions['adminpermissions'] = 2;
            $pmdm->set_recipients($name, $botpermissions);
            $pmdm->set('dateline', TIMENOW); 
            $pmdm->save(); 
        }
    }

Edit : use stripos Instead of strstr

Upvotes: 0

Views: 61

Answers (1)

Alex
Alex

Reputation: 17289

Why do you:

$names = implode(',', $nameuser);
foreach ($names as $name)

just :

foreach ($nameuser as $name)

Upvotes: 2

Related Questions