main.php
<?php
/*define("dblocation","127.0.0.1",TRUE);
define("dbpassword","s6evjfgy",TRUE);
define("dbname","blacklist",TRUE);
define("dbuser","root",TRUE);*/
$dblocation = "127.0.0.1";
$dbname = "blacklist";
$dbuser = "root";
$dbpassword = "s6evjfgy";
//Подключение к базе
function ConnectToDB()
{
$dbconnect = mysql_connect($dblocation,$dbuser,$dbpassword) or die(mysql_error());
mysql_select_db($dbname,$dbconnect) or die(mysql_error());
}
...
?>
index.php
<?php
include ("main.php");
connectToDB();
?>
Ну и дальше HTML код.
Но мне постоянно выдаёт ошибку: Access denied for user 'www-data'@'localhost' (using password: NO)
Хотя логин, пароль - 100% верный, даже скопирован из другого файла для надёжности.
В чём загвоздка?(
Спустя 16 минут, 38 секунд (24.10.2010 - 00:22) Romms написал(а):
Спустя 21 минута, 58 секунд (24.10.2010 - 00:44) Отторжение написал(а):
Права и пользователя выставил - не помогло.
Просто ведь раньше работало, когда всё было в одном файле, а с инклудом не хочет %)
Просто ведь раньше работало, когда всё было в одном файле, а с инклудом не хочет %)
Спустя 16 минут, 20 секунд (24.10.2010 - 01:00) inpost написал(а):
А ты этот код скопируй в index вместо инклюда и проверь. Скорее всего где-то в символе ошибся.
Так же меня смутило, что функции по разному называются, они ведь зависимы от регистра.
Так же меня смутило, что функции по разному называются, они ведь зависимы от регистра.
Спустя 8 минут, 9 секунд (24.10.2010 - 01:08) Отторжение написал(а):
Ну скопировал, тоже самое %)
Спустя 7 минут, 4 секунды (24.10.2010 - 01:15) inpost написал(а):
Ой я туплю... =)))
Смотри, функция полностью независимая, она не берёт переменные из-вне, и не возвращает значения обратно! Единственный способ передать параметры в функцию - это писать так:
Собственно я показал, как передавать переменные в функцию. Записал их 3, но используется 4, добавишь последнюю сам. - в образовательных целях
Смотри, функция полностью независимая, она не берёт переменные из-вне, и не возвращает значения обратно! Единственный способ передать параметры в функцию - это писать так:
function connectToDB($dblocation,$dbuser,$dbpassword)
{
$dbconnect = mysql_connect($dblocation,$dbuser,$dbpassword) or die(mysql_error());
mysql_select_db($dbname,$dbconnect) or die(mysql_error());
}
connectToDB($dblocation,$dbuser,$dbpassword);
Собственно я показал, как передавать переменные в функцию. Записал их 3, но используется 4, добавишь последнюю сам. - в образовательных целях
Спустя 3 минуты, 52 секунды (24.10.2010 - 01:19) Отторжение написал(а):
inpost да дело в том, что я убрал параметры из функции уже после того как отписался на форуме. полнейшее трололо %)
Спустя 2 минуты, 21 секунда (24.10.2010 - 01:21) inpost написал(а):
Отторжение
Всё? Проблем больше нет?!
Всё? Проблем больше нет?!
Спустя 9 минут, 3 секунды (24.10.2010 - 01:30) Отторжение написал(а):
Проблемы те же =) С параметрами функция или без, меня не пускает mysql.
Попробую перегрузится.
Попробую перегрузится.
Спустя 56 минут, 36 секунд (24.10.2010 - 02:27) kirik написал(а):
Цитата (Отторжение @ 23.10.2010 - 17:30) |
Проблемы те же =) С параметрами функция или без, меня не пускает mysql. |
У тебя же в конфиге $dbuser = "root";, а в ошибке "Access denied for user 'www-data'@'localhost' (using password: NO)" значит в функцию данные конфига не проходят. Покажи еще раз код обоих файлов (где в функцию передаются параметры).
Спустя 10 минут, 14 секунд (24.10.2010 - 02:37) Отторжение написал(а):
kirik, я убрал параметры в функции.
Вообщем, файл с объявленными функциями:
Файл в котором используются функции:
Вообщем, файл с объявленными функциями:
<?
$dblocation = "127.0.0.1";
$dbname = "blacklist";
$dbuser = "root";
$dbpassword = "s6evjfgy";
//Подключение к базе
function ConnectToDB()
{
$dbconnect = mysql_connect($dblocation,$dbuser,$dbpassword) or die(mysql_error());
mysql_select_db($dbname,$dbconnect) or die(mysql_error());
}
?>
Файл в котором используются функции:
<?php
include ("main.php");
ConnectToDB();
$num_inlist = 20;
$auth = false;
?>
Спустя 6 минут, 36 секунд (24.10.2010 - 02:44) Self написал(а):
function ConnectToDB($dblocation="127.0.0.1", $dbuser="root", $dbpassword="s6evjfgy", $dbname="blacklist")
{
$dbconnect = mysql_connect($dblocation,$dbuser,$dbpassword) or die(mysql_error());
mysql_select_db($dbname,$dbconnect) or die(mysql_error());
}
Спустя 5 минут, 46 секунд (24.10.2010 - 02:50) kirik написал(а):
Цитата (Отторжение @ 23.10.2010 - 18:37) |
я убрал параметры в функции. |
А как они тогда должны в функцию попадать? Почитай тут.
Нужно вызывать так как inpost написал.
Еще для теста допиши в начало функции:
echo var_dump($dblocation,$dbuser,$dbpassword);
Должен вывести че-нить..
PS. и да, в функции тож параметры указать надо
Спустя 2 минуты, 25 секунд (24.10.2010 - 02:52) kirik написал(а):
Кароч, в сумме должно получиться так:
и
//Подключение к базе
function ConnectToDB($dblocation,$dbuser,$dbpassword,$dbname)
{
$dbconnect = mysql_connect($dblocation,$dbuser,$dbpassword) or die(mysql_error());
mysql_select_db($dbname,$dbconnect) or die(mysql_error());
}
и
ConnectToDB($dblocation,$dbuser,$dbpassword,$dbname);
Спустя 11 минут, 48 секунд (24.10.2010 - 03:04) Отторжение написал(а):
Вообщем, вприсал вручную в функцию mysql_connect адрес, пароль и т.п. - завелось, а через переменные не хочет.
Спустя 2 минуты, 22 секунды (24.10.2010 - 03:06) Отторжение написал(а):
Цитата (kirik @ 23.10.2010 - 23:50) | ||
А как они тогда должны в функцию попадать? |
Да не надо мне переменных в параметрах. В функцию будут попадать из того же main.php где содержаться переменные с логином,паролем, адресом БД и т.п.
Спустя 9 минут, 55 секунд (24.10.2010 - 03:16) kirik написал(а):
Цитата (Отторжение @ 23.10.2010 - 19:06) |
В функцию будут попадать из того же main.php где содержаться переменные с логином,паролем, адресом БД и т.п. |
Ты прочитал что я дал?
Спустя 10 часов, 27 минут, 52 секунды (24.10.2010 - 13:44) inpost написал(а):
Отторжение
Покажи последний код, где не работал, но с правильно использованной функцией!!!
Покажи последний код, где не работал, но с правильно использованной функцией!!!
Спустя 2 часа, 35 минут, 39 секунд (24.10.2010 - 16:20) Отторжение написал(а):
kirik да вот прочитал, теперь понятно, спасибо.
inpost
этот не работал, переменные не поступали к функции %)
Теперь функции с параметром я не могу передать то что в $_GET[''];
Мне возвращает: ID пуст %)
inpost
этот не работал, переменные не поступали к функции %)
function ConnectToDB($dblocation,$dbuser,$dbpassword,$dbname)
{
$dbconnect = mysql_connect($dblocation,$dbuser,$dbpassword) or die(mysql_error());
mysql_select_db($dbname,$dbconnect) or die(mysql_error());
}
Теперь функции с параметром я не могу передать то что в $_GET[''];
$remove = $_GET['id_remove'];
DeleteByID($remove);(или просто DeleteByID($_GET['id_remove'])
function DeleteByID($currentID)
{
if(isset($currenID))
mysql_query("DELETE FROM `badlist` WHERE `id` = '".mysql_real_escape_string($currentID)."'") or die(mysql_error());
else
echo "ID пуст";
}
Мне возвращает: ID пуст %)
Спустя 6 минут, 3 секунды (24.10.2010 - 16:26) inpost написал(а):
Отторжение
Тебя не смущает, что приходит переменная и назначается имя currentID, а проверяешь ты currenID??
Я по поводу твоего второго.
Тебя не смущает, что приходит переменная и назначается имя currentID, а проверяешь ты currenID??
Я по поводу твоего второго.
Спустя 3 минуты, 24 секунды (24.10.2010 - 16:29) Отторжение написал(а):
Да ё-маё, слепые глаза, заработало, спасибо.
Ещё одна загвоздка, фильтру не передаёт значения, т.е. передаёт, но функция не правильно выполняет действия. У меня поиск по никнейму и клану, если искать по никнейму - то ничё не находит, если по клану - то всё как надо.
Вообщем, если $filter_type = "bylogin" то поиск не происходит совсем.
Всё, разобрался, натупил с условиями =/
Ещё одна загвоздка, фильтру не передаёт значения, т.е. передаёт, но функция не правильно выполняет действия. У меня поиск по никнейму и клану, если искать по никнейму - то ничё не находит, если по клану - то всё как надо.
//Фильтр поиска по нику/клану
function SetFilter($filter_type,$text)
{
if(($filter_type == 'bylogin') && !empty($text))
$filter = "WHERE `nickname` = '".mysql_real_escape_string($text)."'";
else
$filter = '';
if(($filter_type == 'byclan') && !empty($text))
$filter = "WHERE `clan` = '".mysql_real_escape_string($text)."'";
else
$filter = '';
return $filter;
}
$filter = SetFilter($_GET['changefilter'],$_GET['name']);
Вообщем, если $filter_type = "bylogin" то поиск не происходит совсем.
Всё, разобрался, натупил с условиями =/