Здравствуйте! Имеется тестовый сервак с PHP 5.2.11, Apache 2.2.13, MySql 5.4. Имеется след.код: $user = "nlena"; $pass = "yktyf"; $host = "testdb"; $db = "deti"; $sobes1 = "SELECT * FROM sobes where chnum = 1"; $n1 = "SELECT * FROM nastr"; //переменные программы $cOne = 0; //Счетчик людей пол-их на 1 ребенка $sOne = 0.00;//Сумма по людям пол-их на 1 ребенка $clOne = 0;//Счетчик людей пол-их на 1 ребенка - прошлое время $slOne = 0; //Сумма по людям пол-их на 1 ребенка - прошлое время $cTwo = 0; //аналогично вышеописанному $sTwo = 0; $clTwo = 0; $slTwo = 0; $reesCount = 0; //счетчик людей наст.время $reesItog = 0; //сумма итого наст.время $reesLCount = 0; //счетчик людей наст.время $reesLItog = 0; //сумма итого наст.время $mydate = mysql_pconnect($host, $user, $pass); $dtb = mysql_select_db($db, $mydate); //работаем с запросами @mysql_query("SET NAMES 'cp1251'"); $n2 = mysql_query($n1, $mydate); $nastr = mysql_fetch_array($n2); $r = mysql_query($sobes1, $mydate) or die( "<br><br><b>MySQL Error:</b> " . mysql_errno() . " // " . mysql_error() . "<br><br>" ); while(false !== ($row = mysql_fetch_array($r))) { if ($r['chnum'] == 1) { $cOne = $cOne + 1; $sOne = $sOne + $row['sum']; if ($row['sum'] > $nastr['first']) { $clOne = $clOne + 1; $slOne = $slOne + ($row['sum'] - $nastr['first']); } } else { $cTwo = $cTwo + 1; } } ?> Вывожу данные: <?php printf(var_dump(mysql_result($r, 0, "chnum"))); //выдает - string(1) "1" printf(var_dump($row['chnum'])); //выдает - NULL, т.е. данных вообще нет! ?> В общем, происходит затык при передаче в mysql_fetch_array(assoc, row - все перепробовал). В чем может быть проблема, не подскажете?
Хотите сказать после цикла переменная обнуляется? Вряд ли, сейчас вывел внутри цикла, так же NULL выводит.
Да, вы правы, это ресурс, просто я все уже варианты начал перебирать. А print_r($row) внутри цикла выводит все данные выборки! З.Ы. Решил показать, что выводит - Array ( [0] => Иванова [1] => Иванна [2] => Ивановна [3] => адрес [4] => 14 [5] => номер [6] => серия [7] => Иванов [8] => Иван [9] => Иванович [10] => 2008-10-16 [11] => II-АР [12] => номер [13] => 1 [14] => 2010-01-01 [15] => 2010-01-31 [16] => данные [17] => 0 [18] => 1.15 [19] => 1 [20] => 1 ) Сейчас попробовал вместо имен столбцов ставить номера ([1] и т.д.) и все заработало! Т.е. получилось, что mysql_fetch_array вместо имен столбцов из набора записей $r подставляет просто цифры! Почему так, не скажете?
вообще не лишним предварительно читать мануал варианты, нужные тебе: mysql_fetch_array($r, MYSQL_ASSOC) или mysql_fetch_assoc($r)