Что-то не так в запросе UPDATE

У меня есть форма редактирования. Я собираю данные для строки, как это –

if (isset($_GET["id"])) { $pur_id = intval($_GET["id"]); } else { echo "id not set"; } 

Затем я пытаюсь выполнить следующий запрос UPDATE.

 $qry1 = mysqli_query($con,"UPDATE `purchase_info` SET `remarks` ='$remarks' WHERE `pur_info_id` = '$pur_id'"); 

Этот запрос работает, но он не обновляет записи в моей базе данных. Но он обновляет запись, когда я просто передаю числовое значение вместо переменной, в которую я помещаю свой идентификатор строки. Поэтому, если я 'pur_info_id' = 1 то он обновит мою запись.

Это очень странно. Я конвертирую значение, используя значение int, но все равно не повезло. Пожалуйста посоветуй. Благодаря!!

Related of "Что-то не так в запросе UPDATE"

Ваш запрос нечувствителен, потому что когда он фактически выполняет UPDATE он заменяет столбец pur_info_id значением, которое у него уже было. Предположим, что $pur_id имеет значение 1 , тогда ваш запрос может быть записан как:

 UPDATE `purchase_info` SET `pur_info_id` = 1, `remarks` = '$remarks' WHERE `pur_info_id` = 1 

Ну, это не изменит столбец pur_info_id , но remarks могут быть обновлены до чего-то нового. Вы должны сообщить нам, какую бизнес-логику вы намерены выполнять. В любом случае следующий запрос логически эквивалентен оригиналу, который у вас был:

 UPDATE `purchase_info` SET `remarks` = '$remarks' WHERE `pur_info_id` = '$pur_id' 

Спасибо всем за то, что вы делитесь своими ценными знаниями и знаниями. Я нашел решение своей проблемы. Это очень глупая проблема, но для меня все же новая. Я извлек идентификатор строки из таблицы с помощью _GET-запроса, а затем попытался использовать идентификатор в моем запросе _POST, который фактически вызвал проблему.

Мы не можем использовать значения _GET в запросе _POST коротким. Таким образом, решение состоит в том, чтобы сохранить значение _GET в переменной, сохранить это в скрытом поле ввода. И когда делается запрос _POST, мы просто берем значение из скрытого поля. Еще раз спасибо!!