SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 04.12.2011 16:22:03

aryumin
Участник
Зарегистрирован: 04.12.2011
Сообщений: 3

ошибка в синтаксисе mysql

Добрый день!
недавно потребовалось научиться создавать инетрнет-анкеты. Бесплатные сервисы имеют свои ограничения, а для платных сервисов у меня есть свои собственные финансовые ограничения.
Для создания анкеты выбрал инструментарий Dreamweaver 8. Сами формы на странице научился создавать, обнаруживать созданную в mysql базу данных и связывать с отдельными нужными полями (формами) столбцы таблицы в базе данных. Это я всё теперь умею делать и делаю, следуя найденным и изученым инструкциям.
При этом данные из формы не загружаются в таблицу базы данных. Скажите, какие данные необходимо предоставить, чтобы обнаружить проблему???

Извините, если это лишняя информация. Вот это код страницы в dreamweaver

<?php require_once('Connections/con1.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;   
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO table1 (name, web-site, e-mail, message) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['textfield'], "text"),
                       GetSQLValueString($_POST['textfield2'], "text"),
                       GetSQLValueString($_POST['textfield3'], "text"),
                       GetSQLValueString($_POST['textarea'], "text"));

  mysql_select_db($database_con1, $con1);
  $Result1 = mysql_query($insertSQL, $con1) or die(mysql_error());

  $insertGoTo = "http://beeline.ru";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<table width="441" border="1">
  <tr>
    <td><form id="form1" name="form1" method="POST" action="<?php echo $editFormAction; ?>">
      <label>name
        <input type="text" name="textfield" />
        </label>
      <br />
      <label>web-site
      <input type="text" name="textfield2" />
      </label>
      <br />
      <label>e-mail
      <input type="text" name="textfield3" />
      </label>
      <br />
      <label>message
      <textarea name="textarea"></textarea>
      </label>
      <br />
      <label>
      <input type="submit" name="Submit" value="Submit" />
      </label>
      <input type="hidden" name="MM_insert" value="form1">
    </form>
    </td>
  </tr>
</table>
</body>
</html>



Наверняка, надо скопировать какие-то данные из MYSQL. Посколько я для этих вещей человек абсолютно новый, я просто не знаю, что от туда стоит скопировать и предоставить, для решения вопроса.

Спасибо!

Неактивен

 

#2 04.12.2011 16:24:26

aryumin
Участник
Зарегистрирован: 04.12.2011
Сообщений: 3

Re: ошибка в синтаксисе mysql

да ещё стоит добавить: при попытке заполнения анкеты и нажатия кнопки submit в браузере следующая ошибка:

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 '-site, e-mail, message) VALUES ('Alexey', 'xxx.ru', 'xx@mail.ru', 'test')' at line 1

Неактивен

 

#3 04.12.2011 16:47:47

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: ошибка в синтаксисе mysql

Добрый день. Давайте попробуем отделить зерна от плевел, т. е. php от sql.

Для начала - проводите диагностику, примерно как здесь - то есть проверяйте результаты выполнения всех функций и выводите на экран ошибки.

Если не поможет, то пришлите сюда полный текст запроса, который не срабатывает (для этого выведите на экран переменную $insertSQL) ну и структуру табличек (show create table t).


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

Неактивен

 

#4 04.12.2011 17:58:10

aryumin
Участник
Зарегистрирован: 04.12.2011
Сообщений: 3

Re: ошибка в синтаксисе mysql

большое Вам спасибо за ответ!
вопрос решился - имена полей в таблице базы данных включали дефисы (e-mail, web-site). Убрал дефисы - всё заработало.
СПАСИБО ещё раз!

Неактивен

 

#5 03.02.2012 22:15:48

Liney
Участник
Зарегистрирован: 03.02.2012
Сообщений: 2

Re: ошибка в синтаксисе mysql

Люди добрые, помогите пожалуйста. Есть таблица в базе, одно из полей которой называется delta-timer, т.е. "с дефисом".
Как можно, посредством select обратиться к этому полю. Пробовал в кавычках - не получается. На данный момент выгружаю всё "select *"  - так работает, но это слишком накладно - в таблице много всякого лишнего.

Неактивен

 

#6 03.02.2012 22:31:23

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: ошибка в синтаксисе mysql

Нужно в обратных кавычках
select `delta-timer`

Неактивен

 

#7 05.02.2012 22:03:46

Liney
Участник
Зарегистрирован: 03.02.2012
Сообщений: 2

Re: ошибка в синтаксисе mysql

Огромное вам спасибо, очень помогли.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson