У меня есть этот код вставки PHP-MySQL:
$sqlTeeth = "INSERT INTO teeth (id_logged, patient_id, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen, eightteen, nineteen, twenty, twone, twtwo, twthree, twfour, twfive, twsix, twseven, tweight, twnine, thirty, thone, thtwo, date_now) VALUES (:id_logged, :patient_id, :one, :two, :three, :four, :five, :six, :seven, :eight, :nine, :ten, :eleven, :twelve, :thirteen, :fourteen, :fifteen, :sixteen, :lone, :ltwo, :lthree, :lfour, :lfive, :lsix, :lseven, :leight, :lnine, :lten, :leleven, :ltwelve, :lthirteen, :lfourteen, :lfifteen, :lsixteen)"; $sqlTeethStmt = $conn->prepare($sqlTeeth); $sqlTeethStmt->bindValue(":id_logged", $id_logged); $sqlTeethStmt->bindValue(":patient_id", $patient_id); $sqlTeethStmt->bindValue(":one", $one); $sqlTeethStmt->bindValue(":two", $two); $sqlTeethStmt->bindValue(":three", $three); $sqlTeethStmt->bindValue(":four", $four); $sqlTeethStmt->bindValue(":five", $five); $sqlTeethStmt->bindValue(":six", $six); $sqlTeethStmt->bindValue(":seven", $seven); $sqlTeethStmt->bindValue(":eight", $eight); $sqlTeethStmt->bindValue(":nine", $nine); $sqlTeethStmt->bindValue(":ten", $ten); $sqlTeethStmt->bindValue(":eleven", $eleven); $sqlTeethStmt->bindValue(":twelve", $twelve); $sqlTeethStmt->bindValue(":thirteen", $thirteen); $sqlTeethStmt->bindValue(":fourteen", $fourteen); $sqlTeethStmt->bindValue(":fifteen", $fifteen); $sqlTeethStmt->bindValue(":sixteen", $sixteen); $sqlTeethStmt->bindValue(":lone", $lone); $sqlTeethStmt->bindValue(":ltwo", $ltwo); $sqlTeethStmt->bindValue(":lthree", $lthree); $sqlTeethStmt->bindValue(":lfour", $lfour); $sqlTeethStmt->bindValue(":lfive", $lfive); $sqlTeethStmt->bindValue(":lsix", $lsix); $sqlTeethStmt->bindValue(":lseven", $lseven); $sqlTeethStmt->bindValue(":leight", $leight); $sqlTeethStmt->bindValue(":lnine", $lnine); $sqlTeethStmt->bindValue(":lten", $lten); $sqlTeethStmt->bindValue(":leleven", $leleven); $sqlTeethStmt->bindValue(":ltwelve", $ltwelve); $sqlTeethStmt->bindValue(":lthirteen", $lthirteen); $sqlTeethStmt->bindValue(":lfourteen", $lfourteen); $sqlTeethStmt->bindValue(":lfifteen", $lfifteen); $sqlTeethStmt->bindValue(":lsixteen", $lsixteen); $sqlTeethStmt->execute();
Когда я добавляю что-то в базу данных, я получил эту ошибку:
SQLSTATE [21S01]: список значений вставки не соответствует списку столбцов: 1136 Число столбцов не соответствует количеству значений в строке 1
Любая помощь приветствуется.
В таблице базы данных есть 35 столбцов
id_logged, patient_id, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen, eightteen, nineteen, twenty, twone, twtwo, twthree, twfour, twfive, twsix, twseven, tweight, twnine, thirty, thone, thtwo, date_now
Где в качестве значений, которые вы передаете, являются 34 столбца
VALUES (:id_logged, :patient_id, :one, :two, :three, :four, :five, :six, :seven, :eight, :nine, :ten, :eleven, :twelve, :thirteen, :fourteen, :fifteen, :sixteen, :lone, :ltwo, :lthree, :lfour, :lfive, :lsix, :lseven, :leight, :lnine, :lten, :leleven, :ltwelve, :lthirteen, :lfourteen, :lfifteen, :lsixteen)
Это несоответствие столбцов дает вам ошибку.
Вы забыли передать значение для столбца date_now . после того, как вы пройдете, будет разрешена ошибка.