Jump to content
  • 0

Опять проблема!


Pavel_html
 Share

Question

Вот я сделал следущий запрос:

$str_sql="CREATE TABLE IF EXISTS comments_$id(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
email VARCHAR(50),
text VARCHAR(500)
)";

но мне почемуто скрипт выдает ошибку..

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 'EXISTS comments_35( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), emai' at line 1

Не знаю в какой раз я это говорю, но помогите, уважаемые Гуру!

Link to comment
Share on other sites

Recommended Posts

  • 0
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 'EXISTS

Читаем: у вас ошибка в синтаксисе, причем ошибка в строке ?EXISTS и т.д.?. Смотрим мануал:

CREATE [TEMPORARY] TABLE [iF NOT EXISTS]

IF NOT EXISTS. ку ?

Link to comment
Share on other sites

  • 0

Вот скажите, почему у меня не работает этот код (все логины и пароли изменены):

<?php
if(isset($_POST['fname'])){
$sdbname="localhost";
$user_name="root;
$user_password="123456";
$db_name="test_db;
if(!$link=mysql_connect($sdbname, $user_name,$user_password)){
echo "Не могу соединится с сервером базы данных";
exit();
}
if(!mysql_select_db($db_name, $link)){
echo "Не могу выбрать базу данных";
exit();
}
$id=$_GET['id'];
$str_sql="CREATE TABLE IF NOT EXISTS comments_$id(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
email VARCHAR(50),
text VARCHAR(500)
)";
if(!mysql_query($str_sql, $link)){
print mysql_error();
}
if(empty($_POST['name'])){
$error="Вы не ввели имя
";
}
if(empty($_POST['e-mail'])){
$error.="Вы не ввели e-mail
";
}
if(empty($_POST['body'])){
$error.="Вы не ввели сообщение
";
die();
}
if(strlen($_POST['body'])<10){
$error.="Вы ввели слишком маленькое собщение
";
}
$regexp='^[0-9a-zA-Z]([0-9a-zA-Z-_]+.)*[0-9a-zA-Z]*@[a-zA-Z0-9]*([0-9a-zA-Z-_]+.)*[0-9a-zA-Z]+.[a-zA-Z]{2,6}$';
if(!preg_match("/$regexp/", $_POST['e-mail'])){
$error.="Вы ввели неправильный e-mail";
}
if(!empty($error)){
echo "<div class="error">";
echo $error;
echo "</div>";
die();
}
$name=strip_tags($_POST['name']);
$email=strip_tags($_POST['e-mail']);
$body=strip_tags($_POST['body']);
$query="INSERT INTO comments_$id VALUES(
'',
'$name',
'$email',
'$body'
)";
mysql_query($query, $link);
mysql_close($link);
$host = $_SERVER['HTTP_HOST'];
$fn = "http://".$host.$_POST['fname'];
echo "<script language=JavaScript>
window.location='$fn'
</script>";
}
?>

Ошибок он не выдает, только белый экран, и все!

Link to comment
Share on other sites

  • 0

Хаха... насмешил... Павел, ты красавец!

Все статьи должны распологатся в одной таблице и браться по ID.

Почитай статьи и примеры создания гостевых, новостных лент при помощи PHP+MySQL...

Ну полюбому ж ничего не читал и мастерит...

Link to comment
Share on other sites

  • 0

Ньдя.... Pavel_html, хочется сказать "Аффтар, убяй сябя" (с) :) Но не скажу.

Ошибок он не выдает, только белый экран, и все!

Судя по коду может быть несколько ошибок.

1. таблица не создается из-за недопустимой длины поля VARCHAR

2. запись не вноситься, тогда

$query="INSERT INTO comments_$id VALUES(
''NULL,
'$name',
'$email',
'$body'
)";

3. страница не редиректиться потому что есть ошибки в JS, скорее всего window.location.href

4. страница редиректиться но весь вывод ошибок остается на старой странице.

5. страница редиректа не содержит в себе никакого кода.

З.Ы. и вообще редирект можно сделать средствами РНР через header("Location: http://example.com?exampleVAR=exampleID");

З.З.Ы: Pavel_html, доки надо не курить, а изучать.... :)

Link to comment
Share on other sites

  • 0

Вы не меня не поняли!! Новая таблица для комментариев к определеной статьи. А для статей у меня одна таблица.

Ну например у меня есть статья "О невозможности всего сущего". Она располагается в таблице articles, под id - ом 18. И для этой статьи создается отдельная таблица комментариев, которая названа примерно так: comments_id, где id - id статьи в таблице articles.

Link to comment
Share on other sites

  • 0
Вы не меня не поняли!! Новая таблица для комментариев к определеной статьи. А для статей у меня одна таблица.

Ну например у меня есть статья "О невозможности всего сущего". Она располагается в таблице articles, под id - ом 18. И для этой статьи создается отдельная таблица комментариев, которая названа примерно так: comments_id, где id - id статьи в таблице articles.

Это ты не понял, что мы тебя поняли. Комменарии все те же, убейся, жесть, пойду плакать во сне?

Link to comment
Share on other sites

  • 0

2Pavel_html, всмотритесь в такую структуру:

Таблица articles:
article_id | title | body

Таблица articles_comments:
comment_id | article_id | user_name | message

Удобнее?

Во вторых, вы явно не читали вообще никакой литературы по базам данных. Вместе того, чтобы искать материал в сети и самообучаться, вы бежите на форум и зада?те вопросы, которые уже давно там описаны.

Если подобные темы будут повторяться - солью в треш.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy