Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
 
 автор: mjc66   (04.02.2008 в 05:50)   письмо автору
 
 

Народ, смысл вот в чем: имеется БД в которой несколько таблиц: 'aromatic_substances', 'sss', 'chemical_reactants', хочу сделать следующее - по запросу должно вывести сколько в каждой из таблиц строк и в конце общее количество этих строк во всех таблицах. Делаю так:

$result = mysql_query("SELECT aromatic_substances.group_production,
 sss.group_production,
 chemical_reactants.group_production 
 COUNT(*) 
FROM aromatic_substances, 
     sss,  
     chemical_reactants 
GROUP BY group_production ");

В этом случае пишет ошибку Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\apache\test.ru\www\The_catalogue_of_the_goods.php on line 131. Я пробывал вариант с одной таблицей:

$result = mysql_query("SELECT group_production, COUNT(*) FROM aromatic_substances GROUP BY group_production ");

Показывает правильно, но как тогда объединить запросы к остальным таблицам?
и второй запрос на общее кол-ко строк:

<?php
    $sql 
"SELECT COUNT(*)  FROM aromatic_substances, sss, chemical_reactants ";
    
$res mysql_query($sql);
        echo 
mysql_result($res00);
?>

Здесь происходит перемножение строк всех трех групп товара. Что делать???

   
 
 автор: Trianon   (04.02.2008 в 09:13)   письмо автору
 
   для: mjc66   (04.02.2008 в 05:50)
 

В первом случае у Вас ошибка синтаксиса (пропущенная запятая в списке SELECT как минимум) и логическая ошибка некорректной группировки агрегатного запроса (на которую MySQL впрочем закрывает глаза.)

Во втором - ничего удвительного, если вспомнить, что запятая в списке FROM - операция декартового произведения таблиц. Делайте отдельны запросы на каждую из таблиц.

И приводите , пожалуйста, код таким образом, чтобы его моно было читать без горизонтального скроллинга. Ни в php , ни в SQL перенос строки в нужном месте на логику не влияет.

   
 
 автор: cheops   (04.02.2008 в 12:12)   письмо автору
 
   для: mjc66   (04.02.2008 в 05:50)
 

Если вы видете сообщение Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in, необходимо адекватно обработать сообщение об ошибке, чтобы MySQL сообщила в чём дело
<?php
$res 
mysql_query($sql);
if(!
$res) exit("Ошибка ".mysql_error());
// Далее всё остальное
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования