Я работаю над небольшим приложением PHP + MySQL. Я столкнулся с проблемой, когда один из моих инструкций вставки, по-видимому, заставляет MySQL добавлять дополнительную несколько пустую строку после каждой вставки. Вот мои настройки:MySQL/PHP - добавление дополнительной строки в оператор INSERT
У меня есть функция, которая делает вставку:
function addFacCertification($facultyID,$month,$year,$completed,$certificatesent,$confirmationtodean,$comments)
{
//echo "$facultyID<br>$month<br>$year<br>$completed<br>$certificatesent<br>$confirmationtodean<br>$comments";
$today = getdate();
$month = $today["mon"];
$date = $today["mday"];
$year = $today["year"];
$curdate = "$year" ."-". "$month" . "-" . "$date";
$sql = mysql_query("INSERT INTO facultycertification (facultyID,cmonth, cyear, completed, certificatesent, confirmationtodean, comments, certifiedon)
VALUES ('$facultyID', '$month', '$year', '$completed', '$certificatesent', '$confirmationtodean','$comments', '$curdate')");
return $sql;
}
Вызов функции:
$sqlresults = addFacCertification($_POST["facultyID"], $_POST["month"], $_POST["year"], $_POST["completed"], $_POST["csent"],
$_POST["ctodean"], $_POST["comments"]);
Проблема, каждый раз, когда это запустить - я получаю дополнительный ряд в мой стол: (см. второй ряд ниже) Изображение находится здесь:
Любые идеи, почему? Вот таблица структуры:
PHP и MySQL не будут волшебно дублировать строки, поэтому что-то выполняет вашу функцию дважды. Либо ваш скрипт работает дважды, либо что-то удваивается при вызове функций. Вы можете поместить вызов 'print_r (debug_backtrace())' там, чтобы видеть, как выглядит стек выполнения каждый раз. –
Я бы предложил использовать нотацию SET, а не нотацию VALUES. Кроме того, избегайте своих струн, ради милости! –
@ Luke Почему вы предлагаете запись SET? –