Ранее все работало стабильно, но последний месяц чтото вот проблемки возникают. При этом например новости добавляются отлично, а вот данные в некоторые другие таблицы проблематично. Сначало думал, что может связано с размером INT или MEDIUMINT
но изменив все на максимум, проблема не решилась
Подскажите куда копать или что смотреть?
Было бы просто, когда проблема возникала бы постоянно, а здесь через раз-два.
if ($_GET['status'] == "sn") { if ($_GET['org'] == '0') { $message = '<strong style="color: red">Не выбрано учреждение!</strong>'; } else { $data = dbarray($result = dbquery("SELECT name FROM ".DB_PREFIX."afisha_organisation WHERE id='".$_GET['org']."'")); $message = '<strong style="color: green">Сеансы для «'.$data['name'].'» добавлены</strong>'; } } } if ($message) { echo "<div class='admin-message'>".$message."</div>\n"; } } $data = dbarray($result = dbquery("SELECT name FROM ".DB_PREFIX."afisha_organisation WHERE id='".$_POST['org_id']."'")); $org_name = $data['name']; $content_name = $_POST['content_name']; $contenttype = $_POST['contenttype']; for ($q = 0; $q < $_POST['opt']; $q++) { $datestamp = $_POST['datestamp'][$q]; $start_sessions = $end_sessions = ''; if ($org_id != 0 && ( $morning1 || $morning2 || $morning3 || $morning4 || $morning5 || $morning6 || $day1 || $day2 || $day3 || $day4 || $day5 || $day6 || $day7 || $day8 || $evening1 || $evening2 ||$evening3 || $evening4 || $devening5 || $evening6 ||$evening7 || $evening8 || $night1 ||$night2 || $night3|| $night4 ||$night5 || $night6)) { $hours_start = $startdate['0'
$result = dbquery("INSERT INTO ".DB_PREFIX."afisha_sessions (item_id, contenttype, org_id, org_name, content_name, datestamp, morning1, morning2, morning3, morning4, morning5, morning6, day1, day2, day3, day4, day5, day6, day7, day8, evening1, evening2, evening3, evening4, evening5, evening6, evening7, evening8, night1, night2, night3, night4, night5, night6, start_sessions, end_sessions) VALUES ('".intval($_GET['id'])."', '$contenttype', '$org_id', '$org_name', '$content_name', '$datestamp', '$morning1', '$morning2', '$morning3', '$morning4', '$morning5', '$morning6', '$day1', '$day2', '$day3', '$day4', '$day5', '$day6', '$day7', '$day8', '$evening1', '$evening2', '$evening3', '$evening4', '$evening5', '$evening6', '$evening7', '$evening8', '$night1', '$night2', '$night3', '$night4', '$night5', '$night6', '$start_sessions', '$end_sessions')");
эта строчка добавляет инфу в БД, в переменной $result лежит результат выполнения. Если проблема собственно в добавлении — можно следующей строкой вывести этот результат, ну примерно так
if ($result) {echo 'Успешно добавили запись';} else {echo 'Не удалось добавить запись';}
вот так прописал уведомления:
if ($_GET['status'] == "sn") { $message = 'Сеансы изменены!'; } if ($message) { echo "<div class='admin-message'>".$message."</div>\n"; } }else {echo 'Не удалось добавить запись';
add_to_head ('<script language="JavaScript" src="'.DIR.'js/jquery.timePicker.js" type="text/JavaScript"></script>'); if ($_GET['status'] == "sn") { $message = 'Сеансы изменены!'; } if ($message) { echo "<div class='admin-message'>".$message."</div>\n"; } }else {echo 'Не удалось добавить запись'; for ($q = 0; $q < $_POST['opt']; $q++) { $datestamp = $_POST['datestamp'][$q]; $start_sessions = $end_sessions = ''; $result = dbquery("DELETE FROM ".DB_PREFIX."afisha_sessions WHERE id='".$_POST['sess_id'][$q]."'"); } else if ( $morning1 || $morning2 || $morning3 || $morning4 || $morning5 || $morning6 || $day1 || $day2 || $day3 || $day4 || $day5 || $day6 || $day7 || $day8 || $evening1 || $evening2 ||$evening3 || $evening4 || $devening5 || $evening6 ||$evening7 || $evening8 || $night1 ||$night2 || $night3|| $night4 ||$night5 || $night6) { $hours_start = $startdate['0']; $minutes_start = $startdate['1'
видимо пишет-не удалось добавить запись.
вот так прописал уведомления:
MySQL ошибок не пишет. оставил пустое место после двоеточия
if ($_GET['status'] == "sn") { $message = 'Сеансы изменены!'; } if ($message) { echo "".$message."\n"; } }else {echo 'Не удалось добавить запись';
ээээ, ну в данном контексте mysql_error() всегда будет возвращать пустоту — там запросов то и не было. Это надо выводить ПОСЛЕ запроса на добавление записи, а не просто вверху файла. А добавление — это insert... — вот после него и надо проверять результат.
Может до самого запроса и не доходит… а может входные данные некорректные и он реально возвращает ошибку.
$result = dbquery("UPDATE ".DB_PREFIX."afisha_sessions SET morning1='$morning1', morning2='$morning2', morning3='$morning3', morning4='$morning4', morning5='$morning5', morning6='$morning6', day1='$day1', day2='$day2', day3='$day3', day4='$day4', day5='$day5', day6='$day6', day7='$day7', day8='$day8', evening1='$evening1', evening2='$evening2', evening3='$evening3', evening4='$evening4', evening5='$evening5', evening6='$evening6', evening7='$evening7', evening8='$evening8', night1='$night1', night2='$night2', night3='$night3', night4='$night4', night5='$night5', night6='$night6', start_sessions='$start_sessions', end_sessions='$end_sessions' WHERE id='".$_POST['sess_id'][$q]."'");