[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Переменные из составного SQL
autooz
Как извлекаются данные из подобных запросов?
каким fetch_ и как ким [ ]?



$drvmassive = mysql_query("
SELECT
ds.`num`,
ds.`complete`,
ds.`driver`,
ds.`sign`,
ds.`car`,
ds.`carid`,
ds.`drvstate`,
ds.`stopid`,
ds.`stoporder`,
ds.`stopvirtual`,
ref.`sign` AS `defsign`,
ref.`phone`,
ref.`car` AS `defcar`,
car.`color` AS `carcolor`,
car.`model` AS `carmodel`,
car.`own`,
cc.`classname` AS `calccarclass`
FROM
`drivershift` ds
INNER JOIN
`refdrivers` ref
ON
(ds.`driver` = ref.`num`)
LEFT JOIN
`refstops` st
ON
(st.`num`=ds.`stopid`)
LEFT OUTER JOIN
`refcars` car
ON
(ds.`carid`=car.`num`)
LEFT OUTER JOIN
`refcarclass` cc
ON
(ref.`carclass`=cc.`num`)
LEFT JOIN
`refdrvstates` rds
ON
(ds.`drvstate`=rds.`num`)
LEFT OUTER JOIN
`refchannel` rch
ON
(ds.`channel`=rch.`num`)
WHERE
(ds.`complete`=0)
AND
(`stopid` =
$stopid)
AND
(`stoporder` =1)
AND
(`drvstate`=1)
ORDER BY
ds.`stopid`,
ds.`stoporder`
ASC"

);
// получаем данные о идентификаторе последнего лога drivershift
if (!$drvmassive)
{
echo "Could not successfully run query
(
$drvmassive) from DB
(К БД не выполнен запрос drvmassive): "
. mysql_error();
exit();
}

$drvinfo = mysql_fetch_row($drvmassive); //?????????????
$driver = $drvinfo['???????????????????'];
$sign = $drvinfo['???????????????????'];
$carid = $drvinfo['???????????????????'];
$agi->verbose("проверяем заполнение данными driver -$driver");




Спустя 11 минут, 12 секунд (31.08.2010 - 11:02) Kuliev написал(а):
autooz

Смотреть ЗДЕСЬ

Спустя 15 минут, 51 секунда (31.08.2010 - 11:18) autooz написал(а):
Там ответа нет. Там простенькие запросы с понятной схемой
$foo['кличка']; А в приведенном мной SQL это не работает, вот и возник вопрос.

Спустя 8 минут, 1 секунда (31.08.2010 - 11:26) linker написал(а):
mysql_fetch_assoc()

Спустя 3 минуты, 2 секунды (31.08.2010 - 11:29) Nikitian написал(а):
$drvinfo = mysql_fetch_row($drvmassive);
ds.`num`,										$drvinfo['num']
ds.`complete`, $drvinfo['complete']
ds.`driver`, $drvinfo['driver']
ds.`sign`, $drvinfo['sign']
ds.`car`, $drvinfo['car']
ds.`carid`, $drvinfo['carid']
ds.`drvstate`, $drvinfo['drvstate']
ds.`stopid`, $drvinfo['stopid']
ds.`stoporder`, $drvinfo['stoporder']
ds.`stopvirtual`, $drvinfo['stopvirtual']
ref.`sign` AS `defsign`, $drvinfo['defsign']
ref.`phone`, $drvinfo['phone']
ref.`car` AS `defcar`, $drvinfo['defcar']
car.`color` AS `carcolor`, $drvinfo['carcolor']
car.`model` AS `carmodel`, $drvinfo['carmodel']
car.`own`, $drvinfo['own']
cc.`classname` AS `calccarclass` $drvinfo['calccarclass']

Спустя 6 минут, 33 секунды (31.08.2010 - 11:36) autooz написал(а):
Nikitian

Не знаю почему, но этот метод ничего не выдает. Пробовал и assoc array и row пробовал

['кличка'], [ds.'кличка'], ["ds.'кличка'"] ну ничего не дает. При этом запрос рабочий в PHPmyadmin даже все показывает. А вот пользоваться запросом не могу и не могу понять что не так.

Спустя 3 минуты, 39 секунд (31.08.2010 - 11:39) Kuliev написал(а):
autooz


$drvinfo = mysql_fetch_row($drvmassive);

echo "<pre>\n";
print_r($drvinfo);
echo "</pre>\n";


Результат в студию!

Спустя 9 минут, 7 секунд (31.08.2010 - 11:48) linker написал(а):
mysql_fetch_row() - отдает обычный массив
mysql_fetch_assoc() - отдает ассоциативный массив
$result = mysq_query($sql);
while($row = mysql_fetch_assoc($result))
{
echo $row['carmodel'];
}
Если ничего не получается, то ставь обработку ошибок, а также вполне возможно, что запрос возвращает пустой результат - ничего не найдено типа.

Спустя 1 минута, 1 секунда (31.08.2010 - 11:49) autooz написал(а):
echo "<pre>\n";
print_r($drvinfo);
echo "</pre>\n";
Ага выдает пустоту

Спустя 1 минута, 52 секунды (31.08.2010 - 11:51) linker написал(а):
Банально ничего не найдено.

Спустя 10 минут, 18 секунд (31.08.2010 - 12:02) autooz написал(а):
Цитата (linker @ 31.08.2010 - 08:51)
Банально ничего не найдено.

И правильно. Сервак ключен, а юзвери деактивированны ohmy.gif . Поеду включать их вручную wink.gif

Спустя 2 часа, 26 минут, 26 секунд (31.08.2010 - 14:28) autooz написал(а):
Спасибо за помощь. Иначе бы еще полтора суток проиграться мог. На самом деле оказалось все банально просто. Так PHPMyadmin был натравлен на рабочую БД, а скрипт обращался к отладочной причем отладочная регулярненько синхрониться от рабочей.

Поэтому те ID которые высматривались через Phpadmin не давали результата, а предыдущие скрипты дергали другие переменные которые не меняются во времени, что собственно не давало повода задуматься о разных базах.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.