Не могу подконнектиться к MySQL

  • Автор темы Perf2k2
  • Дата начала

Perf2k2

Guest
Не могу подконнектиться к MySQL

У меня тут проблемка возникла.
Вообщем поставил я себе MySQL, попытался настроить, а при попытке
сделать

PHP:
$connection = mysql_connect("www.test.ru","12","123") 
	or die("Couldn't connect.");
(разумеется, перед этим сделал:

insert into user (host,user,password) values ('www.test.ru','12',password('123')); )

, он мне выдает:

Warning: MySQL Connection Failed: Access denied for user: '12@www.test.ru' (Using password: YES) in C:\httpd\home\www.test.ru\www\sql.php on line 3.

А вот если я сделаю так:
PHP:
$connection = mysql_connect("www.test.ru","12","")
, то скрипт начинает нормально работать.

В чем тут проблема? Подскажите.
 

Perf2k2

Guest
Блин, клево!
Спасибо тебе, si!
Если бы не ты, то так бы и долбался сейчас с этим...
 

Perf2k2

Guest
Только тут вот еще одна загвоздочка появилась. Есть у меня код:
PHP:
$db = @mysql_select_db($db_name, $connection)
or die("Couldn't select database.");
Вот этот дай он мне как раз и выдает...
Из-за чего он не может выбрать базу?
 

Perf2k2

Guest
А это только из-за этого может быть? Я тут просто пытался их устанавливать (привилегии всмысле), только они что-то не особо пахали...
 

Perf2k2

Guest
Отлично. Теперь я могу подконнектиться к базе. А вот чего я не могу, так это создать таблицу. А create_priv я поставил на "Y".

Ошибка вот на этом выдается:
PHP:
// execute the query

$result = mysql_query($sql,$connection)
	or die("Couldn't execute query");
 

Perf2k2

Guest
Отлично. Теперь я могу подконнектиться к базе. А вот чего я не могу, так это создать таблицу. А create_priv я поставил на "Y".

Ошибка вот на этом выдается:
PHP:
// execute the query

$result = mysql_query($sql,$connection)
	or die("Couldn't execute query");
А вот и сам $sql:
PHP:
$sql = "CREATE TABLE $table_name (";
for ($i = 0; $i < count($field_name); $i++) {
	
	$sql .= "$field_name[$i] $field_type[$i]";

	if ($auto_increment[$i] == "Y") {
		$additional = "NOT NULL auto_increment";
	} else {
		$additional = "";
	}

	if ($primary[$i] == "Y") {
		$additional .= ", primary key ($field_name[$i])";
	} else {
		$additional .= "";
	}
	
		
	if ($field_length[$i] != "") {
		$sql .= " ($field_length[$i]) $additional ,";
	} else {
		$sql .= " $additional ,";
	} 

}
 

Nime

Guest
Какая ошибка?
Сделай echo $sql; посмотри, что там на самом деле получилось.
 

Perf2k2

Guest
echo?
Это имеешь ввиду:
PHP:
CREATE TABLE gr_news (id char NOT NULL auto_increment, primary key (id) ,date date ,text varchar ,who char (30) )
?
 

Nime

Guest
Ну вот и анализируй сообщения об ошибках теперь...

первая сразу видна

id char...
 

Perf2k2

Guest
Я в этом не особо разбираюсь, поэтому не мог бы ты проанализировать это за меня и сказать что тут не так?

Id что-ли char'ом не может быть?
 

Nime

Guest
а как ты представляешь себе присутствующий у тебя auto_increment для char?

http://www.mysql.com/doc/en/CREATE_TABLE.html
 

Perf2k2

Guest
Вообщем еще вопрос возник.
Когда пытаюсь создать таблицу:
CREATE TABLE gr_newsu (id int NOT NULL auto_increment,primary key (id),who varchar (15),text text,res varchar,date datetime)
он мне пишет
You have an error in your SQL syntax near 'date datetime)' at line 1
удаляю date, начинает писать
You have an error in your SQL syntax near ')' at line 1
У меня такое уже было. Я поставил макс. кол-во символов в запросе 300 и все стало нормально(стояло 50 или типа того), но это уже не и-за ограничения длины мне кажется. Может я и вправду что-то не то пишу.
p.s.: пользуюсь mysqlgui-win32-static-1.7.5-2
 

mahoune

Guest
Помоему ты пытаешься использовать зарезервированные слова в качестве названий полей!
 

Perf2k2

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