Неустранимая ошибка: Uncaught PDOException: SQLSTATE [23000]: нарушение ограничения целостности: повторяющаяся запись длPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Неустранимая ошибка: Uncaught PDOException: SQLSTATE [23000]: нарушение ограничения целостности: повторяющаяся запись дл

Сообщение Anonymous »

Я не могу устранить эту фатальную ошибку, несмотря на попытки ее отладки — проблема связана с оператором вставки MySQL.
Ошибка:

Неустранимая ошибка: неперехваченное исключение PDOException: SQLSTATE[23000]: нарушение
ограничения целостности: 1062 Повторяющаяся запись '' для ключа '' uq_mobile' в
/home/path/public_html/signupvalidate.php: 51 Трассировка стека: #0
/home/path/path/signupvalidate.php(51): PDOStatement->execute(Array)
#1 {main} добавлено в /home/path/path/signupvalidate .php в строке 51

что такое uq_mobile? Это не фраза где-либо в моем коде, базе данных MySQL или настройке таблицы.
Инструкция Insert:

Код: Выделить всё

$stmtInsertProfile = $conn->prepare('INSERT INTO users_profile (userid, firstName, middleName, lastName, mobile, email, country, registeredAt, lastLogin, intro, userProfile)
VALUES (:userid, :firstName, :middleName, :lastName, :mobile, :email, :country, :registeredAt, :lastLogin, :intro, :userProfile)');

$stmtInsertProfile->execute([
// 'id' => '', // do not specific the auto increment primary key on insert commands
'userid' => $fetchedUserID,
'firstName' => '',
'middleName' => '',
'lastName' => '',
'mobile' => '',
'email' => $fetchedUserEmail,
'country' => '',
'registeredAt' => '',
'lastLogin' => '',
'intro' => '',
'userProfile' => ''
]);

Моя экспортированная структура таблицы:

Код: Выделить всё

CREATE TABLE `users_profile` (
`id` bigint(20) NOT NULL,
`userid` int(11) NOT NULL,
`firstName` varchar(50) DEFAULT NULL,
`middleName` varchar(50) DEFAULT NULL,
`lastName` varchar(50) DEFAULT NULL,
`mobile` varchar(15) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
`userBio` text NOT NULL,
`country` varchar(32) NOT NULL,
`registeredAt` int(11) NOT NULL,
`lastLogin` int(11) DEFAULT NULL,
`intro` tinytext DEFAULT NULL,
`userProfile` text DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
Первичным ключом в таблице является «id», поэтому в команде INSERT на него не ссылаются. $fetchedUserEmail (действительная строка электронной почты) и $fetchedUserID (действительное целое число) — это переменные, которые содержат ожидаемые значения, когда я вывожу их во время отладки

Подробнее здесь: https://stackoverflow.com/questions/791 ... int-violat
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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