вставить в mysql проблему

У меня есть таблица с двумя полями ( name , confirm ). confirm имеет тип tinyint потому что я хочу поставить 0 или 1

Теперь я хочу поставить 1 в confirm ; Правильно ли это утверждение?

 if($row['confirm']==0) { $query = "INSERT INTO opt (confirmed) values('0')"; echo 'The user selected options has confirmed'; } 

Related of "вставить в mysql проблему"

Заявление, которое вы написали, является правильным, если вы также хотите, чтобы связанное поле «name» было NULL.

Если вы действительно хотите, чтобы оба поля были заполнены, вы должны:

 INSERT INTO opt (name, confirmed) VALUES (?, ?) 

а затем использовать семейство функций mysqli или PDO для привязки ? параметров к заданным пользователем значениям. Это необходимо для защиты вашей базы данных от атак SQL-инъекций.

Я также хотел бы добавить еще пару полей:

  • Уникальное поле id (для этого используется auto_increment MySQL), чтобы вы могли удалять и / или изменять определенные записи
  • Поле timestamp чтобы у вас была запись (каламбур не предназначен), когда эти данные были добавлены

Кажется, вы хотите сделать обновление:

UPDATE opt SET подтверждено = 1 WHERE name = '$ row [name]'

Правильно?

Когда «подтверждено» является числовым столбцом, вы не должны ставить кавычки вокруг 1.

 INSERT INTO OPT (confirmed) VALUES (1) 

Все предыдущие плакаты сказали +: Если у вас есть только два возможных значения для поля «подтверждено», сделайте его ENUM.