не работает проверка в массивах :(

не работает проверка в массивах :(

Добрый день. Уже 2 дня мучаюсь. Ничего в голову не лезет.
Есть код:
$_GET[host] - к примеру yandex.ru

PHP:
if($_GET[p]=='name')
{
	$query_client = "SELECT `host` FROM `client`";
	$result_client = mysql_query($query_client, $db);

	$query_black = "SELECT `host` FROM `black_list`";
	$result_black = mysql_query($query_black, $db);

	$array_client = array();
	$array_black = array();

	while($a_client = mysql_fetch_assoc($result_client))
		$array_client[] = $a_client;

	while($a_black = mysql_fetch_assoc($result_black))
		$array_black[] = $a_black;

    if (in_array($_GET[host], $array_client) and !in_array($_GET[host], $array_black))
    {
   		echo "<pre>";
   		echo $_GET[host];
   		echo "1# Если есть в клиентах, но нет в блэк листе";
   		echo "</pre>";
    }

    elseif (!in_array($_GET[host], $array_client) and in_array($_GET[host], $array_black))
    {
   		echo "<pre>";
   		echo $_GET[host];
   		echo "2# Если нет в клиентах, но есть в блэк листе";
   		echo "</pre>";
    }

    elseif (!in_array($_GET[host], $array_client) and !in_array($_GET[host], $array_black))
    {
   		echo "<pre>";
   		echo $_GET[host];
   		echo "3# Если нет в клиентах и нет в блэк листе";
   		echo "</pre>";
    }
	mysql_free_result($result_client);
 	mysql_free_result($result_black);

}
все массивы выводится, переменные выводятся, но если в столбце HOST таблице client, есть yandex.ru, а в столбце HOST таблицы black_list нету, то выводит "3# Если нет в клиентах и нет в блэк листе".

Буду очень благдарен за подсказку.
 

Wicked

Новичок
http://phpfaq.ru/debug

-~{}~ 17.10.08 16:29:

1) $_GET[whatever] замени на $_GET['whatever'],
2) всегда используй {}, даже для одной конструкции.
3)
PHP:
var_dump($_GET['p']);
var_dump($_GET['host']);
var_dump($array_client);
var_dump($array_black);
var_dump(in_array($_GET['host'], $array_client));
var_dump(in_array($_GET['host'], $array_black));
 
Так, до меня вроде начинает доходить. Ошибка в том, что у меня главный массив вложен в массивы каждой строки. Как же тогда реализовать поиск по всем вложенным массивам? :(
 

Ravanger

Новичок
приведи дамп своих масивов, проще понять будет, что те надо
 
вот что выводит:

PHP:
Array
(
    [0] => Array
        (
            [0] => test.com
        )

    [1] => Array
        (
            [0] => yandex.ru
        )

)

Array
(
    [0] => Array
        (
            [0] => mastertalk.ru
        )

    [1] => Array
        (
            [0] => mastertalk.ru
        )
)
как сделать чтобы вложенных небыло?
 

Ravanger

Новичок
объясни плиз смысл этих строчек?
PHP:
while($a_client = mysql_fetch_assoc($result_client)) 
$array_client[] = $a_client;
 

Ravanger

Новичок
короче если по простому то
PHP:
while($a_client = mysql_fetch_assoc($result_client)) 
$array_client[] = $a_client[0];
 

Gas

может по одной?
Толстый Нигер
правильно говорит Loshadka, а то своим кодом всех ввёл в заблуждение. Ты делаешь категорически неправильно - не нужно доставать из базы все данные, получить нужно только необходимое. Наример,

Код:
SELECT (SELECT 1 FROM `client` where host='yandex.ru') AS client, 
       (SELECT 1 FROM `black_list` where host='yandex.ru) AS black_list;
или если это для тебя сложно, тогда двумя отдельными запросами.
 
Сверху