@sychsergejj

Добавление в бд с PDO — ошибка 500, в чем проблема?

Знакомлюсь с PDO.
Нужно подключиться к бд и добавить строчку, но выдает ошибку 500 без комментариев.

<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="UTF-8">
	<title>PHP</title>
</head>
<body>
	<?php
	ini_set('display_errors', '1');

		$user = 'root';
		$password = 'testtest';
		$db = 'test_Base';
		$host = 'localhost';

		$dsn = 'mysql:host='.$host.';dbname='.$db;
		$pdo = new PDO($dsn, $user, $password);


		$login = 'testlogin'; 
		$email = 'test@email.ru';
		$name = 'imya'; 
		$surname = 'famili';

		$sql = 'INSERT INTO userz(login, email, name, surname) VALUES(:login, :email, :name, :surname)';
		$query = $pdo->prepare($sql);
#$query->execute(['login' => $login, 'email' => $email, 'name' => $name, 'surname' => $surname]);
	?>
</body>
</html>


Строчку с execute закомментировал, без нее ошибок не выдает, но и не работает.
Помогите разобраться в чем причина.
  • Вопрос задан
  • 238 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А вы уверены, что поля в таблице называются именно `$name` и `$surname`?
Ответ написан
@sychsergejj Автор вопроса
ThunderCat, Спасибо!
1) В логах ошибок выдало следующее
PHP Parse error: syntax error, unexpected '[', expecting ')' in /var/www/ххх.ru/www/ххх.php on line 27
(инструкция которой пользовался чтобы посмотреть логи на своем сервере)

2) Оказалось что ошибка возникала из-за старой версии PHP, короткий синтаксис массивов был введен в более поздних версиях.

3) Простым решением стало замена в коде квадратных скобок []; на array();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы