Помогите найти ошибку...

Eugeniy

Новичок
Помогите найти ошибку...

Сделал таблицу вот так

PHP:
mysql_query("CREATE TABLE news2 (
date varchar(10) NOT NULL,
title varchar(224) NOT NULL,
news text,
rowid int(5) NOT NULL auto_increment,
otr int(2) NOT NULL,
ist varchar(3) NOT NULL,
theme varchar(30),
PRIMARY KEY(rowid)
);") or die(mysql_error());
Пытаюсь добавить запись вот так

PHP:
$query = "insert into news2 values('$date' , '$title' , '$news' , '' , '$otr' , '$ist' , '$theme'";
и он мне выдает ошибку

You have an error in your SQL syntax near '' at line 1

Почему?
 

Demiurg

Guest
Re: Помогите найти ошибку...

Автор оригинала: Eugeniy
Сделал таблицу вот так
PHP:
mysql_query("CREATE TABLE news2 (
date varchar(10) NOT NULL,
title varchar(224) NOT NULL,
news text,
rowid int(5) NOT NULL auto_increment,
otr int(2) NOT NULL,
ist varchar(3) NOT NULL,
theme varchar(30),
PRIMARY KEY(rowid)
);") or die(mysql_error());
Пытаюсь добавить запись вот так
PHP:
$query = "insert into news2 values('$date' , '$title' , '$news' , '' , '$otr' , '$ist' , '$theme'";
и он мне выдает ошибку
You have an error in your SQL syntax near '' at line 1
Почему?
echo $query;
все должно разъяснить.
 

offman

Guest
Re: Помогите найти ошибку...

Пытаюсь добавить запись вот так
PHP:
$query = "insert into news2 values('$date' , '$title' , '$news' , '' , '$otr' , '$ist' , '$theme'";
и он мне выдает ошибку
You have an error in your SQL syntax near '' at line 1
Почему?

Тебя скобки закрывать в школе не научили???:cool:
 

Eugeniy

Новичок
Re: Re: Re: Помогите найти ошибку...

Автор оригинала: Demiurg
Точно , пора очки покупать :)
Очки уже есть.... :cool: слабые наверно :)

To: offman

Блин десять раз строку перечитал.......... :confused:
 

offman

Guest
Re: Re: Re: Re: Помогите найти ошибку...

Автор оригинала: Eugeniy
Очки уже есть.... :cool: слабые наверно :)
To: offman
Блин десять раз строку перечитал.......... :confused:
Проблема в том, что ты в rowid пытаешься засунуть пустое значение, так низзя :)
Если у тебя в таблице есть primary key и он еще и auto_increment, используй лучше полный синтаксис INSERT.
Вот так должно работать:
PHP:
$query =" insert into news2 (date,title,news,otr,ist,theme) values('$date' , '$title' , '$news' ,'$otr' , '$ist' , '$theme')";
Совет на будущее - ставь PRIMARY KEY первым полем.
 

Novice

Guest
Re: Re: Re: Re: Re: Помогите найти ошибку...

Автор оригинала: offman
Проблема в том, что ты в rowid пытаешься засунуть пустое значение, так низзя :)
А помоему так и надо, чтоб автоматически увеличить значение на единицу. Так что правильнее так:
PHP:
$query ="insert into news2 (date,title,news,rowid,otr,ist,theme) values('$date', '$title', '$news', '', '$otr', '$ist', '$theme')";
 

offman

Guest
Re: Re: Re: Re: Re: Re: Помогите найти ошибку...

Автор оригинала: Novice
А помоему так и надо, чтоб автоматически увеличить значение на единицу. Так что правильнее так:
PHP:
$query ="insert into news2 (date,title,news,rowid,otr,ist,theme) values('$date', '$title', '$news', '', '$otr', '$ist', '$theme')";
это неверно, если у тебя поле auto_increment, то тебе не нужно в запросе писать '', mysql будет сам заносить туда нужное значение.
 

Novice

Guest
Re: Re: Re: Re: Re: Re: Re: Помогите найти ошибку...

Автор оригинала: offman
это неверно, если у тебя поле auto_increment, то тебе не нужно в запросе писать ''
Хм... до сегодняшнего дня у меня все так и работало. Надо попробовать по твоему - действительно ли работает...
 

RomikChef

Guest
Можно и так и так.
не указывать поле, и, соответственно, значение.
или указывать поле и передавать ноль
 
Сверху