@Gera01
Unity, С# и больше ничего.

Как сделать mysql запрос?

Добрый день! Не могу понять что не так. Делаю запрос, чтобы добавить в базу данных элемент, но php жалуется, что что-то я делаю не так. Пробовал очень много вариантов добавления (exet, prepare, execute), но все равно выдает ошибку. Подскажите, как ее исправить?
Код
$name = $_POST['name'];
$text = $_POST['text'];
$db = new PDO("mysql:host=localhost;dbname=Messager;", "root", "root");
$sql = "INSERT INTO `messages`(`name`, `text`) VALUES ($name, $text";
$db->exec($sql);

БД
63da47b52570b683615951.png

Ошибка
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in /Applications/MAMP/htdocs/Messanger/controllers/add.php:19 Stack trace: #0 /Applications/MAMP/htdocs/Messanger/controllers/add.php(19): PDO->exec('INSERT INTO `me...') #1 /Applications/MAMP/htdocs/Messanger/index.php(6): include_once('/Applications/M...') #2 {main} thrown in /Applications/MAMP/htdocs/Messanger/controllers/add.php on line 19
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
1. У вас синтаксическая ошибка в запросе, нет закрывающей скобки.
2. Надо использовать подготовленные выражения и не пихать в строку запроса данные, пришедшие от клиента.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы