Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Почему не добавляется информация в базу????
Форумы портала PHP.SU » » Вопросы новичков » Почему не добавляется информация в базу????

Страниц (1): [1]
 

1. Джек - 09 Ноября, 2012 - 00:00:54 - перейти к сообщению
У меня не добавляется информация в базу, подскажите как решить данную проблему...
Код формы ввода информации:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP          
  3. if (!isset($_GET['id']))
  4. {
  5. $result = mysql_query ("SELECT name,id FROM seo_clova");
  6. $myrow =  mysql_fetch_array($result);
  7.  
  8. do
  9. {
  10.     printf ("<p><a href='jmt.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["name"]);
  11. }
  12. while ($myrow =  mysql_fetch_array($result));
  13. }
  14.  
  15. else {
  16. $result = mysql_query("SELECT clova FROM seo_clova WHERE id='$_GET[id]'");
  17. $myrow = mysql_fetch_array($result);
  18.  
  19. print <<<HERE
  20. <form name="form1" method="post" action="add_clova.php">
  21. <p><input value="<br>" name="clova" type="text" id="clova" style="width:300px;"/></p>
  22. <input name="id" type="hidden" value="$myrow[id]"/>
  23. <p><input name="submit" type="submit" id="submit" value="Добавить"/></p>
  24. </form>
  25.  
  26. $myrow[clova]
  27.  
  28. HERE;
  29. }
  30.  
  31. ?>
  32.  


Код файла обработчика:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($clova))
  4. {
  5. /* Заносим информацию в базу */
  6. $result = mysql_query ("INSERT INTO seo_clova (clova) VALUES ('$clova') WHERE id='$id'");
  7.  
  8. if ($result == 'true') {echo "<p style='color:green; font-family:candara; font-size:19px;'>Слово добавлено!</p>";}
  9. else {echo "<p style='color:red; font-family:candara; font-size:19px;'>Слово не добавлено!</p>";}
  10. }
  11. else {echo "<p style='color:red; font-family:candara; font-size:19px;'>Надо ввести слово!</p>";}
  12.  
  13. ?>
  14.  



Кстати в базе поле clova установлено значение unic, чтобы не повторялись вводимые значения.
2. caballero - 09 Ноября, 2012 - 01:25:27 - перейти к сообщению
во первых mysql_query всегда вернет true если не было ошибки в запросе независимо от того поменялись данные или нет

во вторых что делает WHERE в команде INSERT?

Цитата:
в базе поле clova установлено значение unic,

шо сие такое за "значение"
3. Джек - 09 Ноября, 2012 - 11:16:26 - перейти к сообщению
caballero пишет:
во первых mysql_query всегда вернет true если не было ошибки в запросе независимо от того поменялись данные или нет

во вторых что делает WHERE в команде INSERT?

Цитата:
в базе поле clova установлено значение unic,

шо сие такое за "значение"


WHERE хотел показать какому id нужно внести данные в базу

а поле слова не unic а UNIQUE только уникальные значения
4. livote - 09 Ноября, 2012 - 13:28:52 - перейти к сообщению
$result = "INSERT INTO table (id, '$id')";
5. Джек - 09 Ноября, 2012 - 20:22:27 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($clova))
  4. {
  5. /* Заносим информацию в базу */
  6. $result = mysql_query ("INSERT INTO seo_clova (clova,id) VALUES ('$clova','$id')");
  7.  
  8. if ($result == 'true') {echo "<p style='color:green; font-family:candara; font-size:19px;'>Слово добавлено!</p>";}
  9. else {echo "<p style='color:red; font-family:candara; font-size:19px;'>Слово не добавлено!</p>";}
  10. }
  11. else {echo "<p style='color:red; font-family:candara; font-size:19px;'>Надо ввести слово!</p>";}
  12.  
  13. ?>
  14.  

Что то совсем ничего не получается, данные заносятся в новую ячейку, а мне нужно чтобы заносились в определенную группу, которую я идентифицирую по id.
Подскажите, что не так сделал... бошка кипит уже....
6. kotyara1979 - 10 Ноября, 2012 - 19:46:00 - перейти к сообщению
Тогда пиши следующим образом, если нужен id в определенном промежутке
insert into t1 (id,slova,...) values (123,'слова',...)
правда уникальность айди будешь сам контролировать.

если же тебе нужно добавлять к уже существующей записи новые слова, то нужно использовать update, а не insert.
7. Джек - 10 Ноября, 2012 - 23:09:45 - перейти к сообщению
kotyara1979 пишет:
Тогда пиши следующим образом, если нужен id в определенном промежутке
insert into t1 (id,slova,...) values (123,'слова',...)
правда уникальность айди будешь сам контролировать.

если же тебе нужно добавлять к уже существующей записи новые слова, то нужно использовать update, а не insert.


Если я делаю update то он затирает все записи в id и заносит новую, а нужно чтобы он добавлял к существующим записям.
8. LIME - 10 Ноября, 2012 - 23:14:43 - перейти к сообщению
CONCAT()
?
9. Джек - 10 Ноября, 2012 - 23:23:27 - перейти к сообщению
LIME пишет:
CONCAT()
?


? не понял Улыбка
10. LIME - 10 Ноября, 2012 - 23:30:37 - перейти к сообщению
учись гуглить
11. Джек - 11 Ноября, 2012 - 01:11:30 - перейти к сообщению
LIME пишет:
учись гуглить


эта функция мне не подходит мне нужно чтобы инфа постоянно пополнялась и добавлялась в одну ячейку
12. LIME - 11 Ноября, 2012 - 01:57:34 - перейти к сообщению
а если мыслями пошевелить?
UPDATE tbl SET col=CONCAT(col,new)
13. Джек - 21 Ноября, 2012 - 21:07:04 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query ("UPDATE seo_clova SET clova=CONCAT(clova,'new') WHERE id='$_POST[id]'");
  3.  

Вот где тут ошибка??? нужна помощь....
14. evanko - 12 Января, 2013 - 13:33:53 - перейти к сообщению
Джек пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query ("UPDATE seo_clova SET clova=CONCAT(clova,'new') WHERE id='$_POST[id]'");
  3.  

Вот где тут ошибка??? нужна помощь....




наверное
$result = mysql_query ("UPDATE seo_clova SET clova=CONCAT(clova,' $clova') WHERE id='$_POST[id]'");

Нет?

 

Powered by ExBB FM 1.0 RC1