Что не так с моим синтаксисом?
У меня ошибка: у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '){ concat(' Glucose Oxidase', '|', ' 4.2-6.4 mmol/l', '|', 'o'), } else {'в строке 4
Глюкозооксидаза, 4,2-6,4 ммоль / л, извлекается из формы.
$sql="INSERT INTO adenclinicalchemistry (idclinicalchemistry, Glucose, totalcholesterol, triglyceride, highdensitylipoprotein, lowdensitylipoprotein,
bloodureanitrogen, creatinine, blooduricacid, sgot, sgpt, status, date, patientid, userid)
VALUES ('',
if($exams[0] != ''){
concat('$_POST[glumet]', '|', '$_POST[glunor]', '|', '$_POST[glures]'),
} else {
concat('', '|', '', '|', ''),
}
if($exams[1] != ''){
concat('$_POST[cholmet]', '|', '$_POST[cholnor]', '|', '$_POST[cholres]'),
}else{
concat('', '|', '', '|', ''),
}
if($exams[2] != ''){
concat('$_POST[trimet]', '|', '$_POST[trinor]', '|', '$_POST[trires]'),
}else{
concat('', '|', '', '|', ''),
}
if($exams[3] != ''){
concat('$_POST[himet]', '|', '$_POST[hinor]', '|', '$_POST[hires]'),
}else{
concat('', '|', '', '|', ''),
}
}if($exams[4] != ''){
concat('$_POST[lowmet]', '|', '$_POST[lownor]', '|', '$_POST[lowres]'),
}else{
concat('', '|', '', '|', ''),
}
}if($exams[5] != ''){
concat('$_POST[ureamet]', '|', '$_POST[ureanor]', '|', '$_POST[ureares]'),
}else{
concat('', '|', '', '|', ''),
}
}if($exams[6] != ''){
concat('$_POST[cremet]', '|', '$_POST[crenor]', '|', '$_POST[creres]'),
}else{
concat('', '|', '', '|', ''),
}
}if($exams[7] != ''){
concat('$_POST[uricmet]', '|', '$_POST[uricnor]', '|', '$_POST[uricres]'),
}else{
concat('', '|', '', '|', ''),
}
}if($exams[8] != ''){
concat('$_POST[astm]', '|', '$_POST[astm]', '|', '$_POST[astm]'),
}else {
concat('$_POST[astmet]', '|', '$_POST[astnor]', '|', '$_POST[astres]'),
}
}if($exams[9] != ''){
concat('$_POST[altmet]', '|', '$_POST[altnor]', '|', '$_POST[altres]'),
}else{
concat('', '|', '', '|', ''),
}
'confirm1',
'$date',
'$_POST[patid]',
'" .$_SESSION['user']. "')";
3 ответа
PHP не будет интерпретировать ваш код, если вы напишите его внутри строки.
Поместите его вне строки и сгенерируйте ваш SQL правильно.
Выполните команду concat в php и передайте переменную в SQL-запрос, например:
$str = '';
if($exams[0] != ''){
$str .=$_POST['glumet'] . '|' . $_POST['glunor'] . '|' . $_POST['glures'];
} else {
$str .='| |';
}
..similar for others and user $str in your query
Вы не можете писать PHP-код прямо в SQL-запрос. Установите его в ".[PHP-код]."- Блок, как вы сделали с вашей переменной $_SESSION.
Имейте в виду, что это ОЧЕНЬ небезопасный способ вставить данные формы в вашу базу данных! Управлять запросом легко!