При выполнении скрипта получаю ошибку, думаю что ошибка в этой строке кода. Данные скрипт получает с отсылаемой формы и выдает ошибку, скорее всего неправильно записал, помогите найти ошибку.
$sql = "INSERT INTO Data (Name, Description,Photo,Buy,Sell) VALUES ('"$_POST['name']"','"$_POST['description']"','"$_POST['photo']"','"$_POST['buy']"','"$_POST['sell']"'"));
Запросы в базу данных следует выполнять с помощью подготовленных выражений. Для этого лучше всего использовать класс PDO.
Выполнение запросов на вставку с помощью подготовленных выражений происходит в 2 стадии:
$stmt->execute()
.в итоге код получается аккуратным и безопасным:
$sql = "INSERT INTO Data (Name, Description,Photo,Buy,Sell) VALUES (?,?,?,?,?)";
$stmt = $pdo->prepare($sql);
$stmt->execute([$_POST['name'], $_POST['description'], $_POST['photo'], $_POST['buy'],$_POST['sell']]);
Также можно посмотреть другие примеры запросов с использованием подготовленных выражений
Хочу отметить, что данный подход гарантирует нас от ошибок синтаксиса. Однако при выполнении запроса могут возникать и другие ошибки. Это совершенно нормальная ситуация, и в случае возникновения ошибки надо просто прочитать её текст ,понять в чем она заключается, и исправить.
Чтобы ПДО всегда сообщал об ошибких, надо писать код соединения так, как написано в этом ответе
Так правильней:
$sql = "INSERT INTO Data (Name, Description,Photo,Buy,Sell) VALUES ('$_POST[name]','$_POST[description]','$_POST[photo]','$_POST[buy]','$_POST[sell])";
Виртуальный выделенный сервер (VDS) становится отличным выбором
Перенесли Moodle на сервер с Centos 7На странице /mod/scorm/player
Мне нужно добавить виртуальный аргумент с типом данных boolean
Есть форма для изменения пароля, при нажатии на submit поля ввода становятся пустыми, соответственно валидатор Laravel ругается на их пустоту, помогите...