Почему list() отказывается работать с MYSQL_ASSOC в mysql_fetch_array()

tigis

Guest
Почему list() отказывается работать с MYSQL_ASSOC в mysql_fetch_array()

Поставил себе более новый четвертый MySql
Попытался в своей программе воспользоваться вместо

$r=mysql_fetch_array($query_id) как обычно

$r=mysql_fetch_array($query_id, MYSQL_ASSOC)

так вот во боих случаях функция возвращает номальный массив, который легко выводится например через

$r["название поля"]

однако когда я пытаюсь взять значения во втором случае используя list() - то есть

list($znfield1,$znfield2)=$r

$znfield1,$znfield2 остаются нулями.

в первом случае list работает как и положено

Просто интересно - это недоработка нового mysql или я сам неправильно в чем-то работаю с новой версией MySQL?
Може кто знает в чем здесь дело?
 

Сергей123

Новичок
[m]list[/m]
list() only works on numerical arrays and assumes the numerical indices start at 0.

В случае с assoc таковых нет.
 

tigis

Guest
Меня смущает что например в той же библиотеке от Slaed
тот же там тоже предпочитают mysql_fetch_array, вот вырезка из их библиотеки mysql4.php:

function sql_fetchrow($query_id = 0)
{
if( !$query_id )
{
$query_id = $this->query_result;
}

if( $query_id )
{
$this->row[$query_id] = mysql_fetch_array($query_id), MYSQL_ASSOC);
return $this->row[$query_id];
}
else
{
return false;
}
}

И она тоже не работает с листом. Вот и думаю почему они пошли по этому пути.
 

tf

крылья рулят
>>Почему list() отказывается работать с MYSQL_ASSOC в mysql_fetch_array()
сначало ман читай что такое list()
list() работает только с массивами, индексами которых являются числа и нумерация которых начинается с 0.
 
Сверху