За последние 24 часа нас посетили 20083 программиста и 1722 робота. Сейчас ищут 1574 программиста ...

INSERT в БД

Тема в разделе "Сделайте за меня", создана пользователем oleg.kan3, 22 июн 2014.

  1. oleg.kan3

    oleg.kan3 Новичок

    С нами с:
    22 июн 2014
    Сообщения:
    4
    Симпатии:
    0
    Я создаю форму в которой пользователь выбирает картинку,вводит ссылку и описание,дальше все это дело попадает в базу данных и на другой странице выводится из базы.Проблема в том что мне не удается почему-то вставить информацию в таблицу на локальном сервере denwer(mysql - 5.5.25;php - 5.3.13;phpmyadmin - 4.2.4).Использую mysqli расширение и получаю ошибку
    Код (Text):
    1. Не удалось создать таблицу: (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 '-close (descr) VALUES (описание)' at line 1
    База данных test,таблица competitions-close и 3 поля(прикладываю скрины)
    [​IMG]

    Собственно файл с формочкой form.php:
    Код (Text):
    1. <!doctype html>
    2. <html>
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Form</title>
    6. <style>
    7. form {
    8. display:block;
    9. margin:0 auto;
    10. width:250px;   
    11. }
    12. </style>
    13. </head>
    14. <body>
    15.     <form method="post" action="compete-validator.php" name="form">
    16.    
    17.         <p>Выберите картинку:<input type="file" name="img" атрибуты></p>
    18.         <p>Описние:<input id="descr" name="descr" type="text" size="20" value="описание"></p>
    19.         <p>Ссылка<input id="link" name="url" type="url" size="20" value="http://tan.lv"></p>
    20.         <p><input id="save" type="submit"  name="submit" value="Сохранить"><input type="button" id="clear" value="стереть"></p>
    21.     </form>
    22. </body>
    23. </html>
    Файл с получением переменных и php манипуляций compete-validator.php:
    Код (Text):
    1. <!doctype html>
    2. <html>
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Test</title>
    6. </head>
    7. <body>
    8. <p>PHP test validator</p>
    9. <p><a href="form.php">Вернутся к форме</a></p>
    10. <p><a href="test.php">Перейти к тесту результата</a></p>
    11. <?php
    12. //Получение инфы методом пост
    13. if(isset($_POST["img"])) {
    14.     $img =$_POST["img"];
    15.     echo "<b>Картинка получена: </b>".$img."</br>";
    16. }
    17. else {
    18. die ("Картинка не получена");
    19. }
    20.  
    21.  
    22.  
    23. if(isset($_POST["descr"])) {
    24.     $descr =$_POST["descr"];
    25.     echo "<b>Описание получено: </b>".$descr."</br>";  
    26.    
    27.     $code_check = mb_check_encoding($descr, 'UTF-8');
    28.     if($code_check) {
    29.         echo "Кодировка верна UTF-8</br>";   
    30.     }
    31.     else {
    32.         die ("Кодировка не верна UTF-8");  
    33.     }
    34.    
    35.  
    36. }
    37. else {
    38. die ("Описание не получено");
    39. }
    40.  
    41.  
    42.  
    43. if(isset($_POST["url"])) {
    44.     $url =$_POST["url"];
    45.     echo "<b>Ссылка получена: </b>".$url."</br>";
    46. }
    47. else {
    48. die ("Ссылка не получена");
    49. }
    50.  
    51.  
    52.  
    53. // Соединение с сервером БД
    54. $mysqli = new mysqli("localhost", "root", "", "test");
    55. if ($mysqli->connect_errno) {
    56.     echo "Не удалось подключиться к MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    57. }
    58. echo 'Соединение установлено... ' .$mysqli->host_info . "\n</br>";
    59.  
    60. //Установка UTF-8 в БД
    61. //$set = mysql_query("SET NAMES utf8");
    62. //if($set) {
    63. //  echo "UTF-8 установлено успешно в БД</br>";   
    64. //}
    65. //else {
    66. //  die("UTF-8 не установлено в БД");  
    67. //}
    68.  
    69. if(!$mysqli->query("INSERT INTO competitions-close (descr) VALUES ($descr)")) {
    70.     echo "Не удалось создать таблицу: (" . $mysqli->errno . ") " . $mysqli->error;
    71. }
    72.  
    73.  
    74.  
    75. mysqli_close($mysqli);
    76. ?>
    77.  
    78. </body>
    79. </html>
    Также прописан .htaccess:
    Код (Text):
    1. AddDefaultCharset UTF-8
    Файл с выводом из базы данных еще не разрабатывался т.к. не получается пока что добавить информацию в БД поэтому не прикладываю код.Заранее спасибо за ответы!
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Действительно, почему?
    Не пробовали переводить на русский это загадочное сообщение?
     
  3. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Ну эта жи проста нивазможна пиривисти!
     
  4. oleg.kan3

    oleg.kan3 Новичок

    С нами с:
    22 июн 2014
    Сообщения:
    4
    Симпатии:
    0
    На денвере не работают действия php c mysql?
    Я прекрасно понимаю как это переводится я не вижу ошибки в синтаксисе
    Иди стебаться в другое место,я новичок в php и пришел сюда чтобы получить совет а не для того чтобы какое-то чмо меня подкалывало!
     
  5. maxycwebber

    maxycwebber Новичок

    С нами с:
    25 мар 2014
    Сообщения:
    263
    Симпатии:
    11
    Адрес:
    Gdansk
    ты давай не пререкайся со старшими, а мотай на ус. никому не нужно тут время тратить и над школоло стебаться.
    competitions-close без дефиса или с подчеркиванием делай. сейчас у тебя это не дефис, а знак минуса. тут и ошибка.
     
  6. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Имена таблиц и полей следует заключать в апострофы `, а данные - в кавычки.
     
  7. oleg.kan3

    oleg.kan3 Новичок

    С нами с:
    22 июн 2014
    Сообщения:
    4
    Симпатии:
    0
    спасибо помогло!
    спасибо тоже было полезно,хотя таблицы и поля без апострофов тоже работают!
     
  8. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    В апострофах можно использовать имя с дефисом (хотя это моветон).
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Я вот бозон Хиггса не вижу. А умники из ЦЕРН, говорят, что он существует. Такие дела. Никогда не будь самоуверен, когда машина говорит, что ты не прав.
     
  10. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Запрос надо смотреть, а не код, который его формирует.