Я создаю форму в которой пользователь выбирает картинку,вводит ссылку и описание,дальше все это дело попадает в базу данных и на другой странице выводится из базы.Проблема в том что мне не удается почему-то вставить информацию в таблицу на локальном сервере denwer(mysql - 5.5.25;php - 5.3.13;phpmyadmin - 4.2.4).Использую mysqli расширение и получаю ошибку Код (Text): Не удалось создать таблицу: (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 поля(прикладываю скрины) Собственно файл с формочкой form.php: Код (Text): <!doctype html> <html> <head> <meta charset="UTF-8"> <title>Form</title> <style> form { display:block; margin:0 auto; width:250px; } </style> </head> <body> <form method="post" action="compete-validator.php" name="form"> <p>Выберите картинку:<input type="file" name="img" атрибуты></p> <p>Описние:<input id="descr" name="descr" type="text" size="20" value="описание"></p> <p>Ссылка<input id="link" name="url" type="url" size="20" value="http://tan.lv"></p> <p><input id="save" type="submit" name="submit" value="Сохранить"><input type="button" id="clear" value="стереть"></p> </form> </body> </html> Файл с получением переменных и php манипуляций compete-validator.php: Код (Text): <!doctype html> <html> <head> <meta charset="UTF-8"> <title>Test</title> </head> <body> <p>PHP test validator</p> <p><a href="form.php">Вернутся к форме</a></p> <p><a href="test.php">Перейти к тесту результата</a></p> <?php //Получение инфы методом пост if(isset($_POST["img"])) { $img =$_POST["img"]; echo "<b>Картинка получена: </b>".$img."</br>"; } else { die ("Картинка не получена"); } if(isset($_POST["descr"])) { $descr =$_POST["descr"]; echo "<b>Описание получено: </b>".$descr."</br>"; $code_check = mb_check_encoding($descr, 'UTF-8'); if($code_check) { echo "Кодировка верна UTF-8</br>"; } else { die ("Кодировка не верна UTF-8"); } } else { die ("Описание не получено"); } if(isset($_POST["url"])) { $url =$_POST["url"]; echo "<b>Ссылка получена: </b>".$url."</br>"; } else { die ("Ссылка не получена"); } // Соединение с сервером БД $mysqli = new mysqli("localhost", "root", "", "test"); if ($mysqli->connect_errno) { echo "Не удалось подключиться к MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } echo 'Соединение установлено... ' .$mysqli->host_info . "\n</br>"; //Установка UTF-8 в БД //$set = mysql_query("SET NAMES utf8"); //if($set) { // echo "UTF-8 установлено успешно в БД</br>"; //} //else { // die("UTF-8 не установлено в БД"); //} if(!$mysqli->query("INSERT INTO competitions-close (descr) VALUES ($descr)")) { echo "Не удалось создать таблицу: (" . $mysqli->errno . ") " . $mysqli->error; } mysqli_close($mysqli); ?> </body> </html> Также прописан .htaccess: Код (Text): AddDefaultCharset UTF-8 Файл с выводом из базы данных еще не разрабатывался т.к. не получается пока что добавить информацию в БД поэтому не прикладываю код.Заранее спасибо за ответы!
На денвере не работают действия php c mysql? Я прекрасно понимаю как это переводится я не вижу ошибки в синтаксисе Иди стебаться в другое место,я новичок в php и пришел сюда чтобы получить совет а не для того чтобы какое-то чмо меня подкалывало!
ты давай не пререкайся со старшими, а мотай на ус. никому не нужно тут время тратить и над школоло стебаться. competitions-close без дефиса или с подчеркиванием делай. сейчас у тебя это не дефис, а знак минуса. тут и ошибка.
Я вот бозон Хиггса не вижу. А умники из ЦЕРН, говорят, что он существует. Такие дела. Никогда не будь самоуверен, когда машина говорит, что ты не прав.