Количество столбцов не соответствует количеству значений в строке 1. Ошибка с подготовленными операторами в PHP.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Количество столбцов не соответствует количеству значений в строке 1. Ошибка с подготовленными операторами в PHP.

Сообщение Гость »


Я столкнулся с

Количество столбцов не соответствует количеству значений в строке 1

Ошибка при попытке вставить данные в базу данных с использованием подготовленных операторов и привязки параметров в PHP. Я проверил код и убедился, что количество заполнителей в моем операторе SQL соответствует количеству связываемых переменных, но ошибка не устранена.

Вот соответствующий фрагмент кода:

// ... (код подключения и получения данных) $sql = "INSERT INTO `rate_company` (`comname`, `yourfunction`, `secofact`, `country`, `Company_size`, `email`, `score`, `q1`, `q3`, `q4`, `q5`, `q6`, `q7`, `q8`, `q9`, `q10`, `q11`, `q12`, `q13`, `q14`, `q15`, `q16`, `q17 `, `q18`, `q19`, `q20`) ЗНАЧЕНИЯ (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, СЕЙЧАС())"; if ($stmt = $conn->prepare($sql)) { // ... продолжаем привязку параметров и выполнение } еще { echo "Ошибка: не удалось подготовить оператор: " . $conn-> ошибка; Выход; } // Привязка параметров $stmt->bind_param("sssssssssssssssssssssss", $comname, $yourfunction, $secofact, $country, $Company_size, $email, $score, $q1, $q3, $q4, $q5, $q6, $q7, $ q8, $q9, $q10, $q11, $q12, $q13, $q14, $q15, $q16, $q17, $q18, $q19, $q20); // ... (выполнение и закрытие оператора) Что я пробовал:
[*]Дважды проверили количество заполнителей в операторе SQL и количество переменных в вызовеbind_param. [*]Удалены ненужные заполнители из оператора SQL (например, для столбцы с автоматическим приращением). [*]Проверено, что типы данных связываемых переменных соответствуют соответствующие типы столбцов в таблице базы данных.
Что мне еще неясно:
[*]
Что может быть причиной несоответствия, даже если заполнитель и количество переменных кажется правильным?
[*]
Есть ли какие-либо дополнительные проверки или соображения, которые мне следует выполнить? убедиться, что подсчеты точны?

Будем очень признательны за любые идеи или предложения по устранению этой проблемы.

Структура таблицы базы данных
СОЗДАТЬ ТАБЛИЦУ `rate_company` ( `id` int(11) НЕ НУЛЬ, `comname` varchar(150) НЕ NULL, `yourfunction` varchar(150) NOT NULL, `secofact` varchar(150) НЕ НУЛЬ, `country` varchar(150) НЕ NULL, `Company_size` varchar(150) НЕ NULL, `email` varchar(150) НЕ NULL, `score` varchar(150) НЕ NULL, `q1` varchar(200) НЕ НУЛЬ, `q2` varchar(200) НЕ НУЛЬ, `q3` varchar(200) НЕ НУЛЬ, `q4` varchar(200) НЕ НУЛЬ, `q5` varchar(200) НЕ НУЛЬ, `q6` varchar(200) НЕ НУЛЬ, `q7` varchar(200) НЕ НУЛЬ, `q8` varchar(200) НЕ НУЛЬ, `q9` varchar(200) НЕ НУЛЬ, `q10` varchar(200) НЕ НУЛЬ, `q11` varchar(200) НЕ НУЛЬ, `q12` varchar(200) НЕ НУЛЬ, `q13` varchar(200) НЕ НУЛЬ, `q14` varchar(200) НЕ НУЛЬ, `q15` varchar(200) НЕ НУЛЬ, `q16` varchar(200) НЕ НУЛЬ, `q17` varchar(200) НЕ НУЛЬ, `q18` varchar(200) НЕ НУЛЬ, `q19` varchar(200) НЕ НУЛЬ, `q20` varchar(200) НЕ НУЛЬ, Метка времени `rate_date` НЕ NULL ПО УМОЛЧАНИЮ current_timestamp() ) ENGINE=InnoDB CHARSET ПО УМОЛЧАНИЮ=latin1 COLLATE=latin1_swedish_ci;
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»