Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Работа с DBase
Форумы портала PHP.SU » » Работа с СУБД » Работа с DBase

Страниц (1): [1]
 

1. petkata - 01 Июня, 2007 - 14:39:05 - перейти к сообщению
Привет всем!

У меня проблем с dbf. Прочитал таблицу, нашел запис отвечающий на нужное условие, и захател его отредактировать. Запис прочитал в масив, вставил новие значения и захетал записат через dbase_replace_record().

$p_dbf = dbase_open($file, 2);
if ($p_dbf)
{
$br_zapisi = dbase_numrecords($p_dbf);
for ($i = 1; $i <= $br_zapisi; $i++)
{
//$red = dbase_get_record_with_names($p_dbf, $i);
$red = dbase_get_record($p_dbf, $i);
if ($red[0] == $v)
{
$red[1] = "999999";
$red[2] = $move_date;
$red[3] = 0;
dbase_replace_record($p_dbf, $red, $i);
}
}
}

Вот ответ ПХП - Warning: dbase_replace_record() [function.dbase-replace-record]: Wrong number of fields specified.
Не знаю что делать. Если кто знает прошу помогите.
2. petkata - 02 Июня, 2007 - 14:28:52 - перейти к сообщению
Привет!

Сам себе отвечаю. Ошибка найдена. Проблем изправлен. Причина такая:

$red = dbase_get_record($p_dbf, $i); - $red ето масив сам по себе, но функция dbase_replace_record($p_dbf, $red, $i) ето не понимает.
Нада сделать так: dbase_replace_record($p_dbf, array($var_for_field_1, $var_for_field_2, ..$var_for_field_n), $i); и все. Толька $var_for_field_1 нужно вставить по очереди как в *.dbf.

 

Powered by ExBB FM 1.0 RC1