Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Rauh
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 6
1

Добавление данных в базу данных во время функции printf()

12.02.2015, 02:56. Просмотров 435. Ответов 5
Метки нет (Все метки)

Привет всем! У меня возникла проблема. Задача такая: нужно принять данные с одной таблицы в базе данных и после подтверждения их на страннице отправить их в другую таблицу. Но почему-то при нажатии Submit в таблицу добавляются пустые строки, без текста. Есть идеи, где ошибка?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
include("connect.php");
 
$result = mysql_query("SELECT text FROM Stories",$db);
$story = mysql_fetch_array($result);
$i = 1;
do{
    printf("    
                <form action='got.php' method='POST'>
                <textarea name='ext' cols='30' rows='5'>%s
                </textarea><br>
                <input type='submit'>
                <input type='reset'>",$story['text']);
    
    $i++;
    
}while($story = mysql_fetch_array($result));
?>
got.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
  $hostname = "localhost";
  $username = "root";
  $password = "root";
  $dbName = "Database";
 
  $usertable = "Stories";
  
  mysql_connect($hostname,$username,$password) OR DIE("No connection");
  mysql_select_db($dbName) or die(mysql_error());
 
  print "<CENTER>";
  print "HI, THATS YOUR STORY: ".$_POST['text'];
 
  $new = $_POST['text'];
 
  $query = "INSERT INTO $usertable (text) VALUES('$new')";
  mysql_query($query) or die(mysql_error());
  print " Added";
 
  mysql_close();
 ?>
connect.php:

PHP
1
2
3
4
<?php
$db = mysql_connect("localhost","root","root");
mysql_select_db("Database",$db) or die(mysql_error());
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2015, 02:56
Ответы с готовыми решениями:

Добавление данных из нескольких текстовых полей в базу данных
Добрый день. С толкнулся со следующей проблемой: У меня есть форма в которой...

Добавление записи в базу данных и считывание из базы данных
Здравствуйте! Знаю, что эти вопросы поднимались уже тысячи раз, но помогите...

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

Добавление в базу данных
Пожалуйста, помогите разобраться с кодом. Пытаюсь добавить в базу новую запись....

Добавление в базу данных
Мне нужно, чтоб данные, введенные пользователем на сайте заносились в базу. ...

5
Para bellum
Эксперт PHP
4152 / 3087 / 999
Регистрация: 06.01.2011
Сообщений: 9,021
12.02.2015, 21:40 2
Цитата Сообщение от Rauh Посмотреть сообщение
SQL
1
INSERT INTO $usertable (text) VALUES('$new')
У Вас точно одно поле все в таблице Stories?
0
Rauh
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 6
12.02.2015, 22:02  [ТС] 3
В плане одно все? У меня там таблица с id и text. Но там ошибки точно нет, я этот код же использовал при первичном занесении данных, он 100% рабочий. Здесь проблема лежит где-то внутри printf, но я не понимаю где
0
Para bellum
Эксперт PHP
4152 / 3087 / 999
Регистрация: 06.01.2011
Сообщений: 9,021
13.02.2015, 06:47 4
Что-то я вчера не то ляпнул. Вы же указываете, в какое поле вставить данные, я не доглядел.
Вот тут наверное ошибка:
HTML5
1
<textarea name='ext' cols='30' rows='5'>
У Вас поле называется "ext", а из POST Вы пытаетесь получить "text".
0
Rauh
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 6
13.02.2015, 11:29  [ТС] 5
Тут тоже все в порядке. Я на всякий случай исправил, но результат тот же.
0
rapniger
1 / 1 / 0
Регистрация: 27.11.2011
Сообщений: 21
16.02.2015, 11:04 6
Цитата Сообщение от Rauh Посмотреть сообщение
<input type='reset'>",$story['text']);
вместо запятой точку поставьте.

Далее, попробуйте через echo или printf вывести данные, чтобы проверить есть ли переменные в $usertable и $new.

Если выводят, то идем дальше:

Правила синтаксиса INSERT:

PHP
1
2
3
4
//Основной синтаксис
$query="INSERT INTO <название таблицы> ([<Имя столбца>, ... ]) VALUES (<Значение>,...)";
//если хотим вставить переменные полученные из php
$query="INSERT INTO time ([id, id_vendor]) VALUES (' ".$usertable." ',' ".$new." ')";
Ваш код и мой предполагаемый код:
PHP
1
2
3
4
$query = "INSERT INTO $usertable (text) VALUES('$new')";
// Вот попробуй мой код
$query = "INSERT INTO ".$usertable." (text) VALUES (' ".$news." ')";
//Здесь важно символы ' и ". в коде просто пробелы убери, я это сделал для того чтобы ты заметил между ' и ".
0
16.02.2015, 11:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2015, 11:04

Добавление в базу данных
Код такой: $first_name=$_POST; $insert_query = 'INSERT INTO users...

Добавление в базу данных
Здравствуйте! Помогите пожалуйста!!! Вот моя база данных: -- Table...

Добавление данных в базу
Доброго времени суток! Балуясь дома столкнулся с проблемой: Не добавляются...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru