За последние 24 часа нас посетили 16739 программистов и 1606 роботов. Сейчас ищут 1318 программистов ...

mysql не заносит данные

Тема в разделе "Сделайте за меня", создана пользователем Lexansan, 10 мар 2015.

  1. Lexansan

    Lexansan Новичок

    С нами с:
    10 мар 2015
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте, при таком коде :
    Код (Text):
    1.  
    2. <?php header('Content-Type: text/html; charset=utf-8');
    3. ?>
    4. <!DOCTYPE HTML>
    5. <html>
    6. <head>
    7.     <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    8.     <meta name="author" content="gencyolcu" />
    9.  
    10.     <title>Шаблон сервера</title>
    11. </head>
    12.  
    13. <body>
    14.  
    15. <form action="insert.php" method="post" enctype="text/plain">
    16. <p>Введите имя сотрудника: <br /><input name="name" type="text" size="20" maxlength="40" /></p>
    17. <p>Введите фамилию: <br /><input name="family" type="text" size="20" maxlength="40" /></p>
    18. <p>Введите должность: <br /><input name="dol" type="text" size="20" maxlength="40" /></p>
    19. <p><input name="submit "type="submit" value="Занести нового сотрудника  в базу" /></p>
    20. </form>
    Код (Text):
    1.  
    2. <?php header('Content-Type: text/html; charset=utf-8');
    3. ?>
    4. <!DOCTYPE HTML>
    5. <html>
    6. <head>
    7.     <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    8.     <meta name="author" content="gencyolcu" />
    9.  
    10.     <title>insert</title>
    11. </head>
    12.  
    13. <body>
    14. <?php
    15. if (isset($_POST['name']))
    16. {
    17.     $name=$_POST['name'];
    18. }
    19. if (isset($_POST['family']))
    20. {
    21.     $family=$_POST['family'];
    22. }
    23. if (isset($_POST['dol']))
    24. {
    25.     $dol=$_POST['dol'];
    26. }
    27. $db= mysql_connect("localhost","Lexansan","");
    28. mysql_query("set names utf8");
    29. mysql_select_db("firstbd",$db);
    30. // INSERT INTO- ТАБЛИЦА (поле1,поле2) VALUES ('значение1', 'значение2')
    31. $result= mysql_query("INSERT INTO firma (name,family,dol) VALUES ('$name','$family','$dol')");
    32. if ($result== 'true')
    33. {
    34. echo "Информация в базу занесена успешно" ;    
    35. }
    36. else
    37. {
    38.     echo "Информация  в базу не добавлена";
    39. }
    40. ?>
    Новые данные заносятся ВЫШЕ, А НЕ ПОСЛЕ старых, под новым id= 0, а после и совсем не заносятся.
    s012(точка)radikal(точка)ru/i319/1503/01/dd3d355f5b57(точка)png
    Подскажите пожалуйста, как это исправить???
     
  2. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Поле id сделайте автоинкрементом.
     
  3. Lexansan

    Lexansan Новичок

    С нами с:
    10 мар 2015
    Сообщения:
    4
    Симпатии:
    0
    Спасибо, теперь данные пытаются занестись вниз, по порядку. Но вместо данных в первом заполняемом столбце пустое значение, лишь индекс отмечается. А остальные и вовсе не заносятся. s020(точка)radikal(точка)ru/i701/1503/38/18934eab8b3a(точка)jpg
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    Надо выяснить какие данные попадают в текст запроса:
    Код (PHP):
    1. $sql = "INSER…$var$var…";
    2. var_dump($sql); die(); // временно, только чтобы убедиться!
    3. $result = mysql_query($sql);
    это называется отладка

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

    Добавлено спустя 3 минуты 24 секунды:
    а реально проблема в том, что ты не проверяешь отправлены ли вообще данные или скрипт вызван "вхолостую".
    у тебя должен быть вариант "Ошибка, данные неверны" без INSERT
     
  5. Lexansan

    Lexansan Новичок

    С нами с:
    10 мар 2015
    Сообщения:
    4
    Симпатии:
    0
    спасибо, я совсем новичек.
    вставил поверх глобальных переменных
    Код (Text):
    1.  
    2. <?php
    3. $sql = "INSER…$var…$var…";
    4. var_dump($sql); die(); // временно, только чтобы убедиться!
    5. $result = mysql_query($sql);
    6. if (isset($_POST['name']))
    7. {
    8.     $name=$_POST['name'];
    9. }
    10. if (isset($_POST['family']))
    11. {
    12.     $family=$_POST['family'];
    13. }
    14. if (isset($_POST['dol']))
    15. {
    16.     $dol=$_POST['dol'];
    17. }
    18. $db= mysql_connect("localhost","Lexansan","");
    19. mysql_query("set names utf8");
    20. mysql_select_db("firstbd",$db);
    21.  
    22. // INSERT INTO- ТАБЛИЦА (поле1,поле2) VALUES ('значение1', 'значение2')
    23. $result= mysql_query("INSERT INTO firma (name,family,dol) VALUES ('$name','$family','$dol')");
    24.  
    25. if ($result== 'true')
    26. {
    27. echo "Информация в базу занесена успешно" ;    
    28.    
    29. }
    30. else
    31. {
    32.     echo "Информация  в базу не добавлена";
    33. }
    34. ?>
    выдает: string(8) "INSER…"

    Добавлено спустя 3 минуты 1 секунду:
    где про это можно прочитать?
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    друг, это был пример. тебе надо использовать свой SQL-запрос. ))) и не всё равно где, а там же где он был )))

    почитать про "другой вариант" можешь здесь:
    Код (PHP):
    1. if (empty($name) || empty($family) … … ) {
    2.   die('Ошибка, данные неверны');
    3. }
     
  7. Lexansan

    Lexansan Новичок

    С нами с:
    10 мар 2015
    Сообщения:
    4
    Симпатии:
    0
    ничего не понял, мне надо говотый код, чтоб дальше продолжить учебу
     
  8. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    значит я не справился )))
    переношу тему в стремный раздел