[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка подключения к БД
geek
Ошибка подключения к БД. Я делаю авторизацию, у меня видает ошибку
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO)

<form action="login.php" method="post">
<
table>
<
tr>
<
td>Логин:</td>
<
td><input type="text" name="login" /></td>
</
tr>
<
tr>
<
td>Пароль:</td>
<
td><input type="password" name="password" /></td>
</
tr>
<
tr>
<
td></td>
<
td><input type="submit" value="Войти" /></td>
</
tr>
</
table>
</
form>


<?php
function
db_connect() {
$db_name='users';
$q=mysql_connect('localhost','root','';);
if($q) {
if(mysql_select_db($db_name)){
return $q;
}
else
die('Error!'.mysql_error());
}
else
die('Error!'.mysql_error());
}


php?>

<?php


if (isset($_POST['login']) && isset($_POST['password']))
{
$login = mysql_real_escape_string($_POST['login']);
$password = md5($_POST['password']);

// делаем запрос к БД
// и ищем юзера с таким логином и паролем


$query = "SELECT `id`
FROM `users`
WHERE `login`='
{$login}' AND `password`='{$password}'
LIMIT 1"
;
$sql = mysql_query($query) or die(mysql_error());

// если такой пользователь нашелся
if (mysql_num_rows($sql) == 1) {
// то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)

$row = mysql_fetch_assoc($sql);
$_SESSION['user_id'] = $row['id'];

// не забываем, что для работы с сессионными данными, у нас в каждом скрипте должно присутствовать session_start();
}
else {
die('Такой логин с паролем не найдены в базе данных. И даём ссылку на повторную авторизацию.');
}
}


php?>

<?php

// если пользователь не авторизован
if (!isset($_SESSION['user_id'])) {
// то проверяем его куки
// вдруг там есть логин и пароль к нашему скрипту


if (isset($_COOKIE['login']) && isset($_COOKIE['password'])) {
// если же такие имеются
// то пробуем авторизовать пользователя по этим логину и паролю

$login = mysql_real_escape_string($_COOKIE['login']);
$password = mysql_real_escape_string($_COOKIE['password']);

// и по аналогии с авторизацией через форму:

// делаем запрос к БД
// и ищем юзера с таким логином и паролем


$query = "SELECT `id`
FROM `users`
WHERE `login`='
{$login}' AND `password`='{$password}'
LIMIT 1"
;
$sql = mysql_query($query) or die(mysql_error());

// если такой пользователь нашелся
if (mysql_num_rows($sql) == 1) {
// то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)

$row = mysql_fetch_assoc($sql);
$_SESSION['user_id'] = $row['id'];

// не забываем, что для работы с сессионными данными, у нас в каждом скрипте должно присутствовать session_start();
}
else {
// только мы не будем давай ссылку на форму авторизации
// вдруг человек и не хочет был авторизованым
// а пришел просто поглядеть на наши страницы как гость

}
}
}

php?>




Спустя 37 минут, 31 секунда (23.10.2011 - 11:33) YVSIK написал(а):
ответ))
Цитата
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO)

вот
Внимание: mysql_real_escape_string () [function.mysql-реального побега строки]: Доступ закрыт для "ODBC" пользователь @ "локальный" (используя пароль: НЕТ)
smile.gif

Спустя 20 минут, 35 секунд (23.10.2011 - 11:53) geek написал(а):
Цитата (YVSIK @ 23.10.2011 - 08:33)
ответ))
Цитата
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO)

вот
Внимание: mysql_real_escape_string () [function.mysql-реального побега строки]: Доступ закрыт для "ODBC" пользователь @ "локальный" (используя пароль: НЕТ)
smile.gif

И как ето понять?Что делать?

Спустя 5 минут, 10 секунд (23.10.2011 - 11:58) Игорь_Vasinsky написал(а):
скрипт не видит подключения к БД.

выше пропиши mysql_connect() + mysql_select_db()

Спустя 2 часа, 18 минут, 48 секунд (23.10.2011 - 14:17) geek написал(а):
Цитата (Игорь_Vasinsky @ 23.10.2011 - 08:58)
скрипт не видит подключения к БД.

выше пропиши mysql_connect() + mysql_select_db()

Теперь новая ошибка( No database Selected.
Но я вибираю БД users

<form action="login.php" method="post">
<
table>
<
tr>
<
td>Логин:</td>
<
td><input type="text" name="login" /></td>
</
tr>
<
tr>
<
td>Пароль:</td>
<
td><input type="password" name="password" /></td>
</
tr>
<
tr>
<
td></td>
<
td><input type="submit" value="Войти" /></td>
</
tr>
</
table>
</
form>

<?php
mysql_connect('localhost','root','');
mysql_query('SELECT * FROM users.users');

php?>

<?php
function
db_connect() {
$db_name='users';
$q=mysql_connect('localhost','root','');
if($q) {
if(mysql_select_db($db_name)){
return $q;
}
else
die('Error!'.mysql_error());
}
else
die('Error!'.mysql_error());
}


php?>

<?php


if (isset($_POST['login']) && isset($_POST['password']))
{
$login = mysql_real_escape_string($_POST['login']);
$password = md5($_POST['password']);

// делаем запрос к БД
// и ищем юзера с таким логином и паролем


$query = "SELECT `id`
FROM `users`
WHERE `login`='
{$login}' AND `password`='{$password}'
LIMIT 1"
;
$sql = mysql_query($query) or die(mysql_error());

// если такой пользователь нашелся
if (mysql_num_rows($sql) == 1) {
// то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)

$row = mysql_fetch_assoc($sql);
$_SESSION['user_id'] = $row['id'];

// не забываем, что для работы с сессионными данными, у нас в каждом скрипте должно присутствовать session_start();
}
else {
die('Такой логин с паролем не найдены в базе данных. И даём ссылку на повторную авторизацию.');
}
}


php?>

<?php

// если пользователь не авторизован
if (!isset($_SESSION['user_id'])) {
// то проверяем его куки
// вдруг там есть логин и пароль к нашему скрипту


if (isset($_COOKIE['login']) && isset($_COOKIE['password'])) {
// если же такие имеются
// то пробуем авторизовать пользователя по этим логину и паролю

$login = mysql_real_escape_string($_COOKIE['login']);
$password = mysql_real_escape_string($_COOKIE['password']);

// и по аналогии с авторизацией через форму:

// делаем запрос к БД
// и ищем юзера с таким логином и паролем


$query = "SELECT `id`
FROM `users`
WHERE `login`='
{$login}' AND `password`='{$password}'
LIMIT 1"
;
$sql = mysql_query($query) or die(mysql_error());

// если такой пользователь нашелся
if (mysql_num_rows($sql) == 1) {
// то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)

$row = mysql_fetch_assoc($sql);
$_SESSION['user_id'] = $row['id'];

// не забываем, что для работы с сессионными данными, у нас в каждом скрипте должно присутствовать session_start();
}
else {
// только мы не будем давай ссылку на форму авторизации
// вдруг человек и не хочет был авторизованым
// а пришел просто поглядеть на наши страницы как гость

}
}
}

php?>

Спустя 9 минут, 36 секунд (23.10.2011 - 14:27) Игорь_Vasinsky написал(а):
уф..

Цитата
mysql_connect('localhost','root','');
mysql_query('SELECT * FROM users.users');


где?

элементарно открыть мануал по PHP раздел "Функции для работы с БД MySQL"

база выбирается так

$selectDB = mysql_select_db("users");
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.