2011-01-27 4 views
0

Я новичок в PHP и есть одна проблема, которую я не совсем понимаю.Обновить таблицу данных из веб-формы с помощью PHP

У меня есть веб-форма и текстовые поля. Когда веб-форма загружает текстовое поле, получите данные из базы данных.

То, что я пытаюсь сделать, это обновить базу данных на клике, фактически на второй загрузке веб-формы. Но данные в базе данных не меняются вообще.

$first_name = $_POST[textfield]; 

session_start(); 
$telegramNum = $_SESSION[telegramNum]; // This is data from first page, this code is 
             // on third page, data was from second page 

$testDataQuery="UPDATE person_response SET first_name = ".$first_name." WHERE telegram_number= " .$telegramNum; 
+0

как вы подключаетесь к db? – kjy112

+2

Вам нужно будет поместить кавычки вокруг текста в ваш запрос, иначе MySQL вернет ошибку. например: 'first_name = '". $ first_name. "' WHERE ' –

+0

Я тоже этого пытаюсь. Все в порядке. Но я получаю данные с первой страницы. Может быть, это проблема, потому что текстовое поле - это имя текстового поля для первой и для второй страницы? И я получаю данные с первой страницы, а не из вторых, как я привык. –

ответ

0

Проблема была в форме тега. Я не помещал дырную часть кода внутри тега формы.

0

Необходимо подключиться к базе данных и отправить запрос. В вашем коде вы присваиваете только mysql-запрос переменной.

1

Сначала я прочитал несколько уроков о подключении к базе данных, используя php. Затем узнайте, как выполнять запросы. Кроме того, немного прочитайте об использовании mysql_real_escape_string() для ввода данных.

PHP MySQL connection tutorial

$first_name = $_POST['textfield']; 

session_start(); 
$telegramNum = $_SESSION['telegramNum'];  
$testDataQuery="UPDATE person_response SET first_name = '".$first_name."' WHERE telegram_number= '" .$telegramNum."'"; 

убедитесь, что вы используете одиночные кавычки вокруг данных, вводимых в запросе, а также около $ _POST и $ _SESSION вары

0

Ты не понял меня. Я подключился к базе данных. Когда страница 2 загружается, текстовые поля обновляются данными из базы данных.

Но когда я изменяю часть этого текстового поля и перехожу на другую страницу, в этот момент я хочу обновить базу данных этими новыми данными. Соединение и все остальное в порядке.

+0

, пожалуйста, отправьте сообщение об ошибке, возвращаемой MySQL или PHP – kjy112

+0

Ошибка. База данных обновляется, но для обновления first_name - пустая ячейка. –

+1

убедитесь, что вы поставили котировку вокруг $ _POST и $ _SESSION, а затем выполните эхо на $ first_name, посмотрите, получилось ли значение из сообщения – kjy112

Смежные вопросы