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

У меня есть поле в таблице opt с именем confirm типа tinyint. Я хочу вставить значение (1) с помощью этого оператора, но он не работает, может ли кто-нибудь помочь?

$connect= mysql_connect("localhost","root") or die ("Sorry, Can not connect to database");

mysql_select_db("login") or die (mysql_error());

$user=$_POST['staff'];
echo $user;

$query = "SELECT  * from users where username='$user' ";
$result=mysql_query($query,$connect) or die(mysql_error());
$row=mysql_fetch_array($result);

$uid=$row['userid'];
echo $uid;

$query = "SELECT  * from opt where userid='$uid' ";
$result=mysql_query($query,$connect) or die(mysql_error());
$row=mysql_fetch_array($result);

if ($row['confirm']==0)
{

$query = "INSERT INTO opt (confirm) values(1)";
echo 'The user selected options has confirmed';


}
?>

Какое сообщение об ошибке вы получаете, если оно есть?

Welbog 20.01.2009 17:39

сообщений об ошибках нет, но (1) не вставлено

sermed 20.01.2009 17:45

Это дубликат stackoverflow.com/questions/460997/insert-into-mysql-problem. Отредактируйте этот вопрос, если хотите добавить дополнительную информацию.

Greg 20.01.2009 17:46

ваш код небезопасен: у всех есть полный контроль над вашей базой данных

Jacco 20.01.2009 18:02
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
218
5

Ответы 5

Вы не выполняете запрос.

Последний запрос остается невыполненным

aivarsak 20.01.2009 17:42

$ query - это переменная, и нет никаких причин, по которым она может вызвать волшебную вставку записи в таблицу opt.

Вам нужно вставить следующую строку после $ query = "...":

mysql_query($query);

Кроме того, я надеюсь, что это не тот код, который вы используете в продакшене.

Где-то нужно иметь следующее:

$user = mysql_real_escape_string($user); 

добавить дополнительный

$ result = mysql_query ($ query, $ connect) или умереть (mysql_error ());

после линии

$ query = "ВСТАВИТЬ В значения opt (подтвердить) (1)";

Помимо невыполнения «ВСТАВИТЬ ЗАЯВЛЕНИЕ»,

Вам, вероятно, следует использовать

 "UPDATE OPT SET CONFIRM = '1' WHERE USERID = $user;"

поскольку строка уже существует (потому что вам удалось ее выбрать!).

Почему не работает? какая ошибка выкидывает?

Проверьте остальные поля таблицы ...

Другие вопросы по теме