За последние 24 часа нас посетили 22679 программистов и 1014 роботов. Сейчас ищут 758 программистов ...

Что-то непонятное с запросом INSERT

Тема в разделе "MySQL", создана пользователем Ламер, 31 дек 2011.

  1. Ламер

    Ламер Активный пользователь

    С нами с:
    31 дек 2011
    Сообщения:
    1
    Симпатии:
    0
    Делаю запрос:
    [sql]INSERT INTO `emp` (`Name`,`Loyal`,`e1`,`e2`,`e3`,`e4`,`talType`,`talLvl`,`Shop`,`Manager`,`EmpID`) VALUES ('Лидия','0','0','0','3','1','1','1','0','0',NULL);[/sql]
    На что мне показывают смачную фигу. Тот же самый запрос делаю через MyAdmin - всё работает.
    Весь код:
    PHP:
    1. <?php
    2. $dblocation = "localhost";
    3. $dbuser = "root";
    4. $dbpasswd = "";
    5. $dbcnx = @mysql_connect ($dblocation, $dbuser, $dbpasswd);
    6. if (!$dbcnx)
    7. {
    8. exit("<p>В настоящий момент сервер базы данных недоступен, поэтому корректное отображение страницы невозможно</p>");
    9. }
    10. else
    11. {
    12. echo("<p>Соединение с базой данных установлено</p>");
    13. }
    14.  
    15. INSERT INTO `emp` (`Name`,`Loyal`,`e1`,`e2`,`e3`,`e4`,`talType`,`talLvl`,`Shop`,`Manager`,`EmpID`) VALUES ('Лидия','0','0','0','3','1','1','1','0','0',NULL);
    16. ?>
    Логин и пароль верные, т. к. при выполнении кода без запроса, пишет, что соединение с базами установлено.

    Я в замешательстве, как такое может быть?
     
  2. alive342

    alive342 Активный пользователь

    С нами с:
    21 апр 2011
    Сообщения:
    137
    Симпатии:
    0
    Адрес:
    Российская Федерация
    PHP:
    1. mysql_query("INSERT INTO `emp` (`Name`,`Loyal`,`e1`,`e2`,`e3`,`e4`,`talType`,`talLvl`,`Shop`,`Manager`,`EmpID`) VALUES ('Лидия','0','0','0','3','1','1','1','0','0',NULL)");
     
  3. Kler

    Kler Активный пользователь

    С нами с:
    3 янв 2012
    Сообщения:
    2
    Симпатии:
    0
    Здавствуйте!
    Я в этом дели новичок и у мне тоже что-то непонятное с запросами SELECT-Выбор | INSRET-Вставка | UPDATE-Изменить | DELETE-Удалить

    Вот к примеру такой вариант:

    PHP:
    1.  <?php
    2.  
    3. $server= "localhost";
    4. $user=   "root";
    5. $pass=   "";
    6.  
    7.  $db = mysql_connect($server, $user, $pass);              //Подключение к серверу MySQL.
    8.     if (!mysql_connect($server, $user, $pass)) {          // Проверка установить соединение с MySQL:
    9.         exit("Ошибка подключения к серверу MySQL !!! <br>");  }
    10.     else {
    11.         echo "Произведино подключения к серверу MySQL. <br>"; }
    12.  
    13.  
    14.  
    15.  mysql_select_db("db",$db);                               //Выбор БАЗЫ "db".
    16.  
    17.     if (!mysql_select_db("db",$db)) {                     //Проверка выбора БАЗЫ на успех
    18.         exit("Ошибка выбора базы MySQL !!!");   }  
    19.     else {
    20.         echo "База MySQL выбрана успешно! <br>"; }
    21.  
    22.  
    23.  
    24.  /** INSRET-Вставка | INSRET INTO таблица (поле1,поле2) VALUES ('значени1','значение2') */
    25.  $result = mysql_query ("INSRET INTO 'tabl1' ('name','lastname') VALUES ('А','Б')");
    26.    
    27.     if (!$result) {                                        //Проверка запроса к таблице на успех
    28.         exit("Значение в таблицу НЕ добавленно!!!<br>"); }  
    29.     else {
    30.         echo "Значение в таблицу добавленно успешно!<br>"; }
    31.  
    32.  mysql_close($db);   // Закрытие подключения $db к серверу MySQL    
    33.  
    34. ?>


    По окончанию результат:

    HTML:
    1. Произведено подключения к серверу MySQL.
    2. База MySQL выбрана успешно!
    3. Значение в таблицу НЕ добавлено!!!
    И в таблице новое значение не заносится.

    Такое наблюдается на двух разных компах где стоят Денвере и ХАМРР 1.7.7
    В общем сколько б я не долбился – успешного результата SELECT | INSRET | UPDATE | DELETE я так и не видел.
    Кто знает с чем это может быть связано и как это исправить? По возможности опишите подробно что надо сделать.

    СПАСИБО!
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Как видно из кода название таблицы и названия столбцов заключены в одинарные кавычки.
    Собственно в этом и должна быть ошибка.
    Можно удалить кавычки, или использовать`.
     
  5. Kler

    Kler Активный пользователь

    С нами с:
    3 янв 2012
    Сообщения:
    2
    Симпатии:
    0
    Я пробовал уже по разному. Смотрел примеры в справке...
    Если дело в кавычках или опечатках хотяб один из "SELECT | INSRET | UPDATE | DELETE" должен был сработать
    Оссобенно DELETE, он вобще пустяковый.

    Даже при варианте:

    PHP:
    1.  
    2.  $result = mysql_query ("INSRET INTO tabl1 (name,lastname) VALUES ('А','Б')");
    3.  $result = mysql_query ("INSRET INTO `tabl1` (`name`,`lastname`) VALUES ('А','Б')");
    4.  
    5.  echo mysql_errno() . ": " . mysql_error(). "\n";
    6.  
    все равно недобавляет

    Забыл указать еще код ошибки (но мне это ни о чом не говорит):
    1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSRET INTO tabl1 (name,lastname) VALUES ('А','Б')' at line 1
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    отквочу для потомков
     
  7. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Kler
    INSRET
     
  8. udodirc

    udodirc Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    111
    Симпатии:
    0
    А где в коде mysql_query
     
  9. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631