Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
2 / 2 / 1
Регистрация: 21.07.2016
Сообщений: 46
1

Ошибка: SQLSTATE[42S22]

26.08.2017, 16:36. Показов 3260. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ошибка: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'surname' in 'field list'

Не могу понять в чем ошибка.
var_dump($_POST) перед INSERT выдает
array(8) {
["firstname"]=>
string(4) "name"
["surname"]=>
string(3) "sur"
["age"]=>
string(3) "age"
["email"]=>
string(4) "mail"
["city"]=>
string(4) "city"
["language"]=>
string(4) "lang"
["login"]=>
string(7) "user888"
["password"]=>
string(4) "pass"
}


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
require_once(__DIR__ . '/includes/connectdb.inc.php');
 
function addUser($pdo)
{
    $sql = "INSERT INTO users (`firstname`, `surname`, `age`, `email`, `city`, `language`, `login`, `password`) ";
    $sql .= "VALUES (:firstname, :surname, :age, :email, :city, :language, :login, :password)";
    // --- Простая отладка ---
    echo '<pre>';
    var_dump($_POST);
    echo '</pre>';
    try {
        $s = $pdo->prepare($sql);
        $s->execute($_POST);
    } catch (PDOException $e) {
        echo 'Ошибка: ' . $e->getMessage();
        exit();
    }
    return;
}
 
if (!empty($_POST)) {
    array_pop($_POST);
    addUser($pdo);
    $id = $pdo->lastInsertId();
    echo "Запись успешно сохранена в БД под ID: $id<br>";
}
 
?>
 
<form action='' method='post'>
    <input name='firstname' type='text' autofocus required placeholder="Введите имя"><br>
    <input name='surname' type='text' required placeholder="Введите фамилию"><br>
    <input name='age' type='text' required placeholder="Введите возраст"><br>
    <input name='email' type='text' required placeholder="Введите email"><br>
    <input name='city' type='text' required placeholder="Введите город"><br>
    <input name='language' type='text' required placeholder="Введите язык"><br>
    <input name='login' type='text' required placeholder="Введите логин"><br>
    <input name='password' type='password' required placeholder="Введите пароль"><br>
    <input name='passwordConfirm' type='password' required placeholder="Введите пароль повторно"><br><br>
    <input type='submit' value='Отправить'>
</form>
Структура БД
id int(11) Автоматическое приращение
firstname varchar(32) NULL
lastname varchar(64) NULL
age varchar(4) NULL
email varchar(128) NULL
city varchar(32) NULL
language varchar(32) NULL
login varchar(32)
password varchar(32)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.08.2017, 16:36
Ответы с готовыми решениями:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'site_name' in 'field list'
Доброго времени суток! Генерируется запрос следующего типа: UPDATE `seoCustom` SET `site_name` =...

PDOException. SQLSTATE[42S22]: Column not found
$this-&gt;setQuery(&quot;INSERT INTO `&quot;.$table.&quot;` (&quot;.$keystr.&quot;) VALUES (&quot;.$valuestr.&quot;)&quot;);...

Laravel. Ошибка SQLSTATE[42S21]
Формирую миграцию по изменению таблицы php artisan make:migration ChangeArticlesTable...

PHP PDO PREPARE (ошибка SQLSTATE[42000])
$dbh = new PDO(..); $tableName = 'Name'; $outData = $dbh-&gt;prepare('SELECT * FROM :tableName...

2
Native x86
Эксперт Hardware
5628 / 3368 / 956
Регистрация: 13.02.2013
Сообщений: 10,690
26.08.2017, 16:40 2
Цитата Сообщение от VirtualMan Посмотреть сообщение
Unknown column 'surname' in 'field list'
Вам перевести на русский?
0
2 / 2 / 1
Регистрация: 21.07.2016
Сообщений: 46
26.08.2017, 16:45  [ТС] 3
Вопрос снят, ошибся в названии столбца
0
26.08.2017, 16:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.08.2017, 16:45
Помогаю со студенческими работами здесь

Ошибка в PDO с INSERT INTO: SQLSTATE[HY093]: Invalid parameter number
Вот такая ошибка выскакивает: Warning: PDOStatement::execute(): SQLSTATE: Invalid parameter...

не добавляет в БД SQLSTATE[HY093]
сама ошыбка Выброшено исключение: SQLSTATE: Invalid parameter number: parameter was not defined ...

PDOException' with message 'SQLSTATE[42000] [1044]
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE Access denied for user...

Не работает setAttribute(): Невозможно подключится к базе данных SQLSTATE
Здравствуйте! Кто нибудь сталкивался с проблемой не работает setAttribute().Код работает не выдавая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru