Jump to content
  • 0

Баги при написании с нуля


ctpz
 Share

Question

При тестированнии самописа выдает такие ошибки:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'Admin'@'localhost' (using password: NO) in W:\home\localhost\www\blogomz\www\core\db_inc_index_file.php on line 4

Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in W:\home\localhost\www\blogomz\www\core\db_inc_index_file.php on line 5

Warning: mysql_query() expects parameter 2 to be resource, boolean given in W:\home\localhost\www\blogomz\www\core\db_inc_index_file.php on line 6

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in W:\home\localhost\www\blogomz\www\core\db_inc_index_file.php on line 7

Код файл, на который оно указывает:

<?php
include('config.php');

$db = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname,$db);
$db_inc = mysql_query("SELECT * FROM settings WHERE page='index'",$db);
$index = mysql_fetch_array($db_inc);
?>

Как эти ошибки убрать. База данных существует.

Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'Admin'@'localhost' (using password: NO) in W:\home\localhost\www\blogomz\www\core\db_inc_index_file. php on line 4

Ошибка доступа пользователя БД. Скорее всего не разрешена выборка или что-то в этом роде..

Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in W:\home\localhost\www\blogomz\www\core\db_inc_index_file. php on line 5

Пишет, что нуждается в логической переменной второго параметра (true or false) => В ту переменную попадает, что-то другое..

Warning: mysql_query() expects parameter 2 to be resource, boolean given in W:\home\localhost\www\blogomz\www\core\db_inc_index_file. php on line 6

Аналогично предыдущему, т.к. как $db и там, и там.

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in W:\home\localhost\www\blogomz\www\core\db_inc_index_file. php on line 7

Ну эта ошибка возникает в результате возникновения других..

Link to comment
Share on other sites

  • 0

Golgi, ты чем переводил? о_О

1) Проверь права доступа для пользователя Admin. В частности, можно ли заходить с локалхоста, требуется ли пароль (у тебя не указан вроде бы).

2) Ожидается переменная, созданная mysql_connect, а получен boolean. Ты не ввёл проверку корректности выполнения mysql_connect, отсюда все остальные ошибки

А тот, кто говорит, что "нуждается в логической переменной", не прав.

3) То же самое

4) То же самое

http://ru2.php.net/manual/en/function.mysql-connect.php

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}

Мог бы самостоятельно заглянуть в мануал.

  • Like 2
Link to comment
Share on other sites

  • 0

Попробуйте


include('config.php');

$db = mysql_connect("$dbhost, $dbuser, $dbpass");
if (!$link) {
die('Не могу подключится: ' . mysql_error());
}
mysql_select_db($dbname,$db);
$result = mysql_query("SELECT * FROM settings WHERE page='index'",$db);
$index = mysql_fetch_array($result);

Если выдаст непонятную ошибку, пишите, подскажу.

Edited by kohozabr
Link to comment
Share on other sites

  • 0

Здравствуйте. Я создал форму регистрации для своего сайта (дипломная работа) по уроку из этой ссылки http://ruseller.com/lessons.php?rub=37&id=347. Все сделал так, как там описано. Но и при Регистрации, и при авторизации у меня выходит это сообщение:


Warning: mysql_query() expects parameter 2 to be resource, null given in Z:\home\test1.ru\www\rus\save_user.php on line 20

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in Z:\home\test1.ru\www\rus\save_user.php on line 21
Ошибка! Вы не зарегистрированы.

Это выходит, у меня БД с сайтом не соединянтся, да?

П.С. В файле bd.php я задал СВОИ логин и пароль (я создавал Нового пользователя в Денвере)

<? 
mysql_connect("localhost","myuser","12345") or die (mysql_error());
mysql_select_db('mybase') or die (mysql_error());
?>

Так что, врядли ошибка в этом. П.П.С. У меня Денвер, PhpMyAdmin 3.5.0. Таблицы тоже создаю на нем.

В чем моя проблема? Помогите, пожалуйста.

Или можете посоветовать другой урок по созданию формы регистрации? Можно простенькой формы, главное, чтоб с БД работала (задание такое). Но без активации через е-мейл. Я его не собираюсь выкладывать в сеть. Гуглил, кроме вышеописанного урока ничего дельного не нашел.

Link to comment
Share on other sites

  • 0

Здравствуйте. Я создал форму регистрации для своего сайта (дипломная работа) по уроку из этой ссылки http://ruseller.com/lessons.php?rub=37&id=347. Все сделал так, как там описано. Но и при Регистрации, и при авторизации у меня выходит это сообщение:


Warning: mysql_query() expects parameter 2 to be resource, null given in Z:\home\test1.ru\www\rus\save_user.php on line 20

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in Z:\home\test1.ru\www\rus\save_user.php on line 21
Ошибка! Вы не зарегистрированы.

Это выходит, у меня БД с сайтом не соединянтся, да?

П.С. В файле bd.php я задал СВОИ логин и пароль (я создавал Нового пользователя в Денвере)

<? 
mysql_connect("localhost","myuser","12345") or die (mysql_error());
mysql_select_db('mybase') or die (mysql_error());
?>

В чем моя проблема? Помогите, пожалуйста.

Внимательней смотрим урок:


В моем случае это выглядит так:

<?php
$db = mysql_connect ("localhost","user","1234");
mysql_select_db ("mysql",$db);
?>

$db далее по коду тольже используется

Link to comment
Share on other sites

  • 0

Внимательней смотрим урок:


В моем случае это выглядит так:

<?php
$db = mysql_connect ("localhost","user","1234");
mysql_select_db ("mysql",$db);
?>

$db далее по коду тольже используется

Ну я же написал:

П.С. В файле bd.php я задал СВОИ логин и пароль (я создавал Нового пользователя в Денвере)

<? 
mysql_connect("localhost","myuser","12345") or die (mysql_error());
mysql_select_db('mybase') or die (mysql_error());
?>

До создания Нового пользователя в Денвере у меня вообще ошибок штук 5-6 было.

Link to comment
Share on other sites

  • 0

$db, а не пользователь

Из вашего поста я понял, что нужно вставить имя таблицы. И сделал вот так:

<?

mysql_connect("localhost","myuser","12345") or die (mysql_error());

mysql_select_db('users') or die (mysql_error());

?>

Теперь пишет, что отказано в доступе в таблицу "юзерс":

Access denied for user 'myuser'@'localhost' to database 'users'

B PhpMyAdmin попробовал дать все привилегии на нового созданного пользователя для таблицы "users". Результат - выходят предыдущие ошибки.

Link to comment
Share on other sites

  • 0

Любопытная трактовка моего послания, тем более что про таблицу ни слова.

Смотрим мануал:

mysql_connect()

mysql_select_db() - Выбирает базу данных MySQL, таблица тут не причём, таблицу вы в запросе указываете.

Link to comment
Share on other sites

  • 0

Кстати, Я Вам не показал код файла, на который ссылается ошибка.

Warning: mysql_query() expects parameter 2 to be resource, null given in Z:\home\test1.ru\www\rus\save_user.php on line 20

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in Z:\home\test1.ru\www\rus\save_user.php on line 21

Вот скрин:

http://image.kz/img/72/723a1d456fb9770d1d30077e53abf786.jpg

На что он ругается?

Link to comment
Share on other sites

  • 0

Да, вы код не показывали, но дали ссылку на урок, оттуда я и сделал выводы.

Ответ я вам уже дал смотрите выше. (проблемная строка у вас не 20 и 21 а те что вы привели с mysql_connect() и mysql_select_db())

Link to comment
Share on other sites

  • 0

Смотрим мануал:

mysql_connect()

mysql_select_db() - Выбирает базу данных MySQL, таблица тут не причём, таблицу вы в запросе указываете.

Прочитал те статьи (действительно полезные).

Исходя от них, я сделал своеобразный эксперимент:

В bd.php Я сделал вот такой код:

<?

mysql_connect("localhost","mura2","1111") or die("Could not connect: " . mysql_error());

print ("Connected successfully");

mysql_select_db('users') or die ('Can\'t find users : ' . mysql_error());

print ("Database Users Found");

?>

И в файле Z:\home\test1.ru\www\rus\save_user.php на 20-ой строчке добавил:

$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db) or die("Invalid query: " . mysql_error());

Результат:

Выходит вот это:

Connected successfully Database Users Found

Warning: mysql_query() expects parameter 2 to be resource, null given in Z:\home\test1.ru\www\rus\save_user.php on line 20

Invalid query:

Мой вывод из этого:

1)С MySQL соединяется - Connected successfully;

2) БД находит - Database Users Found;

3) Но вот с запросом - что-то не так - Invalid query: и плюс, так как я дописал or die..., действие остановилось, следующая срока (21-ая) в коде не обработана, и как следствие, последней ошибки нет.

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in Z:\home\test1.ru\www\rus\save_user.php on line 21

Ответ я вам уже дал смотрите выше. (проблемная строка у вас не 20 и 21 а те что вы привели с mysql_connect() и mysql_select_db())

Но ведь ошибка сама пишет же, что что-то не так именно с запросом.

Warning: mysql_query() expects parameter 2 to be resource, null given in Z:\home\test1.ru\www\rus\save_user.php on line 20

Типа, mysql_query ожидает чего-то, что-то в этом роде.

Я не умничаю, просто...

Link to comment
Share on other sites

  • 0

Либо в bd.php:


$bd = mysql_connect("localhost","mura2","1111") or die("Could not connect: " . mysql_error());

Либо в save_user.php:


$result = mysql_query("SELECT id FROM users WHERE login='$login'") or die("Invalid query: " . mysql_error());

Так яснее стало?

Link to comment
Share on other sites

  • 0

Либо в bd.php:


$bd = mysql_connect("localhost","mura2","1111") or die("Could not connect: " . mysql_error());

Либо в save_user.php:


$result = mysql_query("SELECT id FROM users WHERE login='$login'") or die("Invalid query: " . mysql_error());

Так яснее стало?

Ну я понял, что поблема в запросе. Как ее решить?

Link to comment
Share on other sites

  • 0

LunatiK, соединение решил.

Но теперь при регистрации пишет:

Ошибка! Вы не зарегистрированы.

Кажется, save_user.php не хочет сохранять нового пользователя.

А при авторизации - все правильно:

Извините, введённый вами login или пароль неверный.

Хоть какой-то сдвиг. Попробовал все заново сделать на другом виртуальном сайте, результат - то же.

П.С. Кстати, у меня в phpMyAdmin 3.5.0 нету тех параметров при создании таблицы, указанных на том уроке.

http://image.kz/img/41/41a75095277118297f256837b3ddd0da.gif

А вот мой phpMyAdmin 3.5.0:

http://image.kz/img/db/dbe9dfd6e04605df4b5aa640fd6680e9.jpg

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