Перекресный запрос MySQL

Bomber

Новичок
Перекресный запрос MySQL

Перекресный запрос MySQL не берет в массив данные с правой таблицы!!!

В таблице categories_description есть поле categories_name хочу его взять пишет что поле отсутствует делаю тот же запрос в phpmyadmin там все нормально

Вод код подскажите че не так делаю =-(
PHP:
$query = "SELECT categories. * , categories_description.* FROM categories LEFT JOIN categories_description ON categories.categories_id = categories_description.categories_id where parent_id = 0 ";

$result = mysql_query($query) or die("Query no : " . mysql_error());
$num1 = MYSQL_NUMROWS($result);
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { $lined[]=$line; }

print $lined['1']['categories_name'];
 

Wicked

Новичок
ну дак и? Обычно дебаг это просто дебаг, и проблемы он сам по себе не решает. Ты получил достаточно инфы, чтобы понять, в чем проблема?
 

Bomber

Новичок
Автор оригинала: Wicked
ну дак и? Обычно дебаг это просто дебаг, и проблемы он сам по себе не решает. Ты получил достаточно инфы, чтобы понять, в чем проблема?
Да еслиб не дебаг сидел и тупил бы до сих пор. Но прикол в том что в массив данные по categories_name идут только с 3 строки (то есть в первых 3 строках ее вообще нет) странно... такого раньше не встречал обошелся тем что к циклу тупо прибавил 3 =-) ...
 

Wicked

Новичок
вооот.

теперь пора спросить, знаешь ли ты, чем LEFT JOIN (который ты используешь) отличается от INNER JOIN.
 

Bomber

Новичок
Автор оригинала: Wicked
вооот.

теперь пора спросить, знаешь ли ты, чем LEFT JOIN (который ты используешь) отличается от INNER JOIN.
если нужно включить в результат только записи которые имеют одинаковые значения в связующих полях используется операция INNER JOIN это я знаю делал толк тот же!!! =-(
 

Wicked

Новичок
значит у тебя просто в categories_description.categories_name есть пестые значения. Либо ты что-то недоговариваешь.

Сделай var_dump в случае с inner join и запости сюда.
 

Bomber

Новичок
Автор оригинала: Wicked
значит у тебя просто в categories_description.categories_name есть пестые значения. Либо ты что-то недоговариваешь.
Сделай var_dump в случае с inner join и запости сюда.
ну хорошо как просили сделаю с INNER и просто LEFT

INNER

SELECT categories. * , categories_description.* FROM categories INNER JOIN categories_description ON categories.categories_id = categories_description.categories_id where parent_id = 0

PHP:
array(6) {
  [0]=>
  array(7) {
    ["categories_id"]=>
    string(1) "1"
    ["categories_image"]=>
    string(15) "video.jpg001111"
    ["parent_id"]=>
    string(1) "0"
    ["sort_order"]=>
    string(1) "0"
    ["date_added"]=>
    string(19) "2006-07-19 14:04:18"
    ["last_modified"]=>
    string(19) "2006-07-19 14:04:18"
    ["categories_status"]=>
    string(1) "1"
  }
  [1]=>
  array(7) {
    ["categories_id"]=>
    string(1) "2"
    ["categories_image"]=>
    string(16) "video.jpg2222222"
    ["parent_id"]=>
    string(1) "0"
    ["sort_order"]=>
    string(1) "0"
    ["date_added"]=>
    string(19) "2006-07-19 14:04:18"
    ["last_modified"]=>
    string(19) "2006-07-19 14:04:18"
    ["categories_status"]=>
    string(1) "1"
  }
  [2]=>
  array(7) {
    ["categories_id"]=>
    string(1) "3"
    ["categories_image"]=>
    string(15) "video.jpg333333"
    ["parent_id"]=>
    string(1) "0"
    ["sort_order"]=>
    string(1) "0"
    ["date_added"]=>
    string(19) "2006-07-19 14:04:18"
    ["last_modified"]=>
    string(19) "2006-07-19 14:04:18"
    ["categories_status"]=>
    string(1) "1"
  }
  [3]=>
  array(10) {
    ["categories_id"]=>
    string(1) "1"
    ["categories_image"]=>
    string(15) "video.jpg001111"
    ["parent_id"]=>
    string(1) "0"
    ["sort_order"]=>
    string(1) "0"
    ["date_added"]=>
    string(19) "2006-07-19 14:04:18"
    ["last_modified"]=>
    string(19) "2006-07-19 14:04:18"
    ["categories_status"]=>
    string(1) "1"
    ["language_id"]=>
    string(1) "2"
    ["categories_name"]=>
    string(5) "video"
    ["categories_description"]=>
    string(48) "п?п?п?п?я?п? п?п?я? п©п?п?я?я? 775,478, socket A"
  }
  [4]=>
  array(10) {
    ["categories_id"]=>
    string(1) "2"
    ["categories_image"]=>
    string(16) "video.jpg2222222"
    ["parent_id"]=>
    string(1) "0"
    ["sort_order"]=>
    string(1) "0"
    ["date_added"]=>
    string(19) "2006-07-19 14:04:18"
    ["last_modified"]=>
    string(19) "2006-07-19 14:04:18"
    ["categories_status"]=>
    string(1) "1"
    ["language_id"]=>
    string(1) "2"
    ["categories_name"]=>
    string(8) "Hardware"
    ["categories_description"]=>
    string(48) "п?п?п?п?я?п? п?п?я? п©п?п?я?я? 775,478, socket A"
  }
  [5]=>
  array(10) {
    ["categories_id"]=>
    string(1) "3"
    ["categories_image"]=>
    string(15) "video.jpg333333"
    ["parent_id"]=>
    string(1) "0"
    ["sort_order"]=>
    string(1) "0"
    ["date_added"]=>
    string(19) "2006-07-19 14:04:18"
    ["last_modified"]=>
    string(19) "2006-07-19 14:04:18"
    ["categories_status"]=>
    string(1) "1"
    ["language_id"]=>
    string(1) "2"
    ["categories_name"]=>
    string(8) "Принтеры"
    ["categories_description"]=>
    string(53) "1111 п?п?п?п?я?п? п?п?я? п©п?п?я?я? 775,478, socket A"
  }
}
LEFT

SELECT categories. * , categories_description.* FROM categories LEFT JOIN categories_description ON categories.categories_id = categories_description.categories_id where parent_id = 0

PHP:
array(6) {
  [0]=>
  array(7) {
    ["categories_id"]=>
    string(1) "1"
    ["categories_image"]=>
    string(15) "video.jpg001111"
    ["parent_id"]=>
    string(1) "0"
    ["sort_order"]=>
    string(1) "0"
    ["date_added"]=>
    string(19) "2006-07-19 14:04:18"
    ["last_modified"]=>
    string(19) "2006-07-19 14:04:18"
    ["categories_status"]=>
    string(1) "1"
  }
  [1]=>
  array(7) {
    ["categories_id"]=>
    string(1) "2"
    ["categories_image"]=>
    string(16) "video.jpg2222222"
    ["parent_id"]=>
    string(1) "0"
    ["sort_order"]=>
    string(1) "0"
    ["date_added"]=>
    string(19) "2006-07-19 14:04:18"
    ["last_modified"]=>
    string(19) "2006-07-19 14:04:18"
    ["categories_status"]=>
    string(1) "1"
  }
  [2]=>
  array(7) {
    ["categories_id"]=>
    string(1) "3"
    ["categories_image"]=>
    string(15) "video.jpg333333"
    ["parent_id"]=>
    string(1) "0"
    ["sort_order"]=>
    string(1) "0"
    ["date_added"]=>
    string(19) "2006-07-19 14:04:18"
    ["last_modified"]=>
    string(19) "2006-07-19 14:04:18"
    ["categories_status"]=>
    string(1) "1"
  }
  [3]=>
  array(10) {
    ["categories_id"]=>
    string(1) "1"
    ["categories_image"]=>
    string(15) "video.jpg001111"
    ["parent_id"]=>
    string(1) "0"
    ["sort_order"]=>
    string(1) "0"
    ["date_added"]=>
    string(19) "2006-07-19 14:04:18"
    ["last_modified"]=>
    string(19) "2006-07-19 14:04:18"
    ["categories_status"]=>
    string(1) "1"
    ["language_id"]=>
    string(1) "2"
    ["categories_name"]=>
    string(5) "video"
    ["categories_description"]=>
    string(48) "п?п?п?п?я?п? п?п?я? п©п?п?я?я? 775,478, socket A"
  }
  [4]=>
  array(10) {
    ["categories_id"]=>
    string(1) "2"
    ["categories_image"]=>
    string(16) "video.jpg2222222"
    ["parent_id"]=>
    string(1) "0"
    ["sort_order"]=>
    string(1) "0"
    ["date_added"]=>
    string(19) "2006-07-19 14:04:18"
    ["last_modified"]=>
    string(19) "2006-07-19 14:04:18"
    ["categories_status"]=>
    string(1) "1"
    ["language_id"]=>
    string(1) "2"
    ["categories_name"]=>
    string(8) "Hardware"
    ["categories_description"]=>
    string(48) "п?п?п?п?я?п? п?п?я? п©п?п?я?я? 775,478, socket A"
  }
  [5]=>
  array(10) {
    ["categories_id"]=>
    string(1) "3"
    ["categories_image"]=>
    string(15) "video.jpg333333"
    ["parent_id"]=>
    string(1) "0"
    ["sort_order"]=>
    string(1) "0"
    ["date_added"]=>
    string(19) "2006-07-19 14:04:18"
    ["last_modified"]=>
    string(19) "2006-07-19 14:04:18"
    ["categories_status"]=>
    string(1) "1"
    ["language_id"]=>
    string(1) "2"
    ["categories_name"]=>
    string(8) "Принтеры"
    ["categories_description"]=>
    string(53) "1111 п?п?п?п?я?п? п?п?я? п©п?п?я?я? 775,478, socket A"
  }
}
 

4m@t!c

Александр
Я думаю, что вы показываете нереальный код формирования массива данных, потому что у вас в массив не заносятся значения с NULL, хотя должны, судя по коду.
 

Wicked

Новичок
Что-то мне подсказывает, что это не может быть единым резалт сетом. Может у тебя массив $lined уже заполнен тремя элементами к моменты выполнения этого запроса?
 

Bomber

Новичок
Автор оригинала: Wicked
Что-то мне подсказывает, что это не может быть единым резалт сетом. Может у тебя массив $lined уже заполнен тремя элементами к моменты выполнения этого запроса?
Wicked блин а ты гений я два запроса в один пихаю СПАСИБО ОГРОМНОЕ
 
Сверху