Вызываю функцию добавления строки в базу, отрабатывает все четко, но при следующем запуске обнаруживаю, что строки в базе уже две. Функция состоит из строк: 1) добавляем строку в базу 2) echo скрипт window.open("http://ya.ru"); -- для проверки количества вызовов функции 3) выводим таблицу со всеми введенными строками Результат: на экран выводится таблица с одной строкой, создается одно окно яндекса. В базе уже две одинаковые строки (это видно если в соседнем окне запросить эту же таблицу) Больше нигде в тексте строки в БД не добавляются. Код (Text): CREATE TABLE tbl ( data0 int not null auto_increment, data1 date not null, data2 blob not null, primary key (data0) ) type = InnoDB ")) и Код (Text): CREATE TABLE tbl ( data0 int not null , data1 date not null, data2 blob not null, primary key (data0) ) type = InnoDB ")) Строки добавляла так PHP: mysql_query("insert into tbl (data1, data2) values('val1', 'val2')") и так PHP: mysql_query("insert ignore into tbl (data1, data2) values('val1', 'val2')") и так PHP: mysql_query("insert ignore into tbl (data1, data2, data0) values('val1', 'val2', 'val3')")
По отдельным строкам ничего нельзя сказать. Нужен весь код, чтобы увидеть его взаимодействие и т д...
Ну там много, команда insert встречается всего в одном месте. И для проверки количества вызовов я открываю окно с яндексом. Если надо, выложу
@LesyaJJK отладка/debug http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550
Файл 1: PHP: if (isset($_REQUEST['a'])) $action_ = $_REQUEST['a']; else $action_ = "0"; include_once("file2.php"); switch ($action_) { case "add1": {lOKMes("Добавить -1"); lCreate1(); break;} case "add2": {lOKMes("Добавить -2"); lShow(); break;} case "edt1": {lOKMes("Изменить -1"); lEdit(); break;} case "edt2": {lOKMes("Изменить -2"); lShow(); break;} case "del": {lOKMes("Удалить "); lShow(); break;} case "show": {lOKMes("Показать "); lShow(); break;} default : echo "жду команду"; break; } Файл 2(file2.php): PHP: function lCreate1() { ?> <form method="get">... </form> <? } function lEdit() { global $lbdname, $nnum; if (!lConnect()) exit(); lUseBase($lbdname); $records=mysql_query("SELECT data1,data2 FROM tbl WHERE data0=".$nnum); ?> <form method="get">... </form> <? mysql_close(); } function lShow() { global $lbdname, $action_, $nd1, $nd2, $nnum; if (!lConnect()) exit(); if (!lUseBase($lbdname)) return false; //добавление объекта if ($action_=="add2") { $maxid=mysql_query("SELECT MAX(data0) AS data0 FROM tbl"); $newid=mysql_result($maxid,0,0)+1; $sqlstr="insert into tbl (data1, data2, data0) values('".$nd1."', '".$nd2."', '".$newid."')"; if (!mysql_query($sqlstr)) lErrMes('Запись не дабавлена'); else lOKMes ('Запись дабавлена'); echo '<script>window.open("http://ya.ru");</script>'; } //редактирование объекта if ($action_=="edt2") { $sqlstr="update tbl set data1='".$nd1."', data2='".$nd2."' where data0='".$nnum."'"; if (!mysql_query($sqlstr)) lErrMes('Запись <b>не</b> изменена'); else lOKMes('Запись изменена'); } //удаление объекта if ($action_=="del") { if (!mysql_query("delete from tbl where data0='".$nnum."'")) lErrMes('Запись <b>не</b> удалена'); else lOKMes('Запись удалена'); } //выведем содержимое таблицы $records=mysql_query("SELECT data0, data1, data2 from tbl ORDER BY data1 DESC"); $num_of_records = mysql_num_rows($records); echo "<TABLE>"; ... echo "</TABLE>"; mysql_close(); }