Задать вопрос
@Meeeeeeeeeeepo

Почему sql запрос обновляет только числовые значение?

SQL запрос обновляет поля в БД только если вводимое значение числового формата, в случае текста вообще ничего не происходит.
---------------
Код php скрипта:
require_once('../blocks/connection_db.php');
  $article = $_GET['article'];
  $name = $_GET['name'];
  $description = $_GET['description'];
  $parameters = $_GET['parameters'];
  $manufacturer = $_GET['manufacturer'];
  $cost = $_GET['cost'];
  $request = "UPDATE products SET name = '$name', description = '$description', parameters = '$parameters', manufacturer = '$manufacturer', cost = '$cost' WHERE article = $article";
  $connection_db -> query($request);
  header('Location:/within.php');
  • Вопрос задан
  • 97 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 2
trapwalker
@trapwalker
Программист, энтузиаст
Потому, что собирать sql таким способом (постановками строк и конкатенацией) очень плохая идея. Используйте параметризированные запросы. Даже в. Php это можно и нужно делать.
Ответ написан
Комментировать
@entermix
Потому, что переменная $article не завернута в скобки:

$request = "UPDATE products SET name = '$name', description = '$description', parameters = '$parameters', manufacturer = '$manufacturer', cost = '$cost' WHERE article = $article";

--->
$request = "UPDATE products SET name = '$name', description = '$description', parameters = '$parameters', manufacturer = '$manufacturer', cost = '$cost' WHERE article = '$article'";
Ответ написан
Ваш ответ на вопрос

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

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