1 (изменено: JIexaman, 2010-08-31 06:30:13)

Тема: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL

Всем привет!
Такая вот проблемка:

Файл db.php

<?
$db = mysql_connect('localhost','user','pass');
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
mysql_select_db("base",$db);

$result = mysql_query("SELECT `id`, `date`, `editdate`, `xfields` FROM dle_post",$db);
$post = mysql_fetch_array($result);
?>

Файл automarkpost.php

<?php
include "db.php";

// Константы{
$i = 0;
// }Константы

do
{
$id = $post["id"];
$i++;
$xfields = $post["xfields"]."||del|Удалена";

echo $i.". ".$post['id'].". ";

//Здесь много вычислительного кода
        
        if ( $workdateyear == date("Y") )
        {
            if ( date("z") - $workdate > 11 )
            {
                $result = mysql_query("UPDATE dle_post SET xfields='$xfields' WHERE id=$id ") or die("ERROR!!!");

                echo "Изменения произведены";
            }
        }

echo "<br />";

}
while ($post = mysql_fetch_array($result));
?>

Выдаёт ошибку:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/u80885/forwsnet/www/engine/automark/automarkpost.php on line 140

Вот 140 строка:

while ($post = mysql_fetch_array($result));

Если я стираю это:

$result = mysql_query("UPDATE dle_post SET xfields='$xfields' WHERE id=$id ") or die("ERROR!!!");

Ошибка пропадает.

Один раз скрипт выполняется, ошибка возникает при первом повторе цикла.
В чём дело? Прошу помощи.

2

Re: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL

Всё, разобрался.
Изменил:

$result = mysql_query("UPDATE dle_post SET xfields='$xfields' WHERE id=$id ") or die("ERROR!!!");

На:

mysql_query("UPDATE dle_post SET xfields='$xfields' WHERE id=$id ") or die("ERROR!!!");