Есть вот такая функция PHP: <?php function insert_sklad_raw() { if (isset($_REQUEST["accept"])) { $rs=mysql_query("select * from zakaz_naryadrashod where number=".$_REQUEST["number"]); while($data=mysql_fetch_array($rs)) { $rs2=mysql_query("select * from sklad_raw where code_postavshik=".$_REQUEST["number"]." and code_raw=".$data["code_raw"].""); if (mysql_num_rows($rs2)==0) { $sql="insert into sklad_raw (code_postavshik,code_raw,kolvo,price,summa) values(".$_REQUEST["postavshik"].",".$data["code_raw"].",".$data["kolvo"].",".$data["price"].",".$data["summa"].")"; mysql_query($sql); echo $sql.'</br>'; } else { $sql="update sklad_raw set code_raw=".$data["code_raw"].", kolvo=".$data["kolvo"].", price=".$data["price"].", summa=".$data["summa"]." where code_postavshik=".$_REQUEST["postavshik"]." and code_raw=".$data["code_raw"].""; echo $sql.'</br>'; mysql_query($sql); echo $sql.'</br>'; } mysql_free_result($rs2); } } } ?> вот поля таблицы sklad_raw codeid, code_postavshik, code_raw, unit, kolvo, price, summa вот поля таблицы zakaz_naryadrashod codeid, number, code_raw, kolvo, price, summa когда я заношу данные в таблицу sklad_raw, то в sql работает только insert, ное сли такая строка есть должен сработать update, вмечто update срабатывет только insert если уберу условие if() else то срабатывают оба и update и insert с условием нет, пробовал ставить elseif (mysql_num_rows($rs2)<0) не получается. в чем дело?
для начала - в русском. Отсюда и все глюки. распиши внятнее, непонятно, инсерт срабатывает и при наличии строк или нет. code_raw что означает по смыслу? Проверять наличие записи надо не так. входные данные надо обрабатывать для безопасности
после строчки PHP: <?php $rs2=mysql_query("select * from sklad_raw where code_postavshik=".$_REQUEST["number"]." and code_raw=".$data["code_raw"].""); отобразите SQL запрос. Выполните этот запрос в phpMyAdmin или консоли, посмотрите результат. там же поставьте функцию var_dump(mysql_num_rows($rs2)); Результаты сюда