|
|
|
| Здравствуйте: откуда береться такая ошибка(причем она не постоянна нажимаешь обновить страницу она исчезает нажимаешь еще раз снова возникает)
Вот код ошибки:
mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Can't
connect to MySQL server on 'localhost' (10048) in
<b>X:\home\localhost\www\game\intellect\includ\bd.php</b> on line <b>3</b>
|
Причем Повторюсь эта ошбика непостоянна.
Такая ошибка может возникать из-за нагрузки на mysql? Просто я делаю игру с использованием аякса и пхп и приходиться почти каждую секунду запрос к БД делать.
Вот необходимая структура файлов:
файл bd.php:
$db = mysql_connect ("localhost","root","");
mysql_select_db("game",$db);
session_start();
|
Файл
init.php
include("bd.php");
include("./lock.php");
// ниже обрабатываеться все что приходит с аякса
|
В файле init.php обрабатываеться практически вся игра.
Не подскажите вчем проблема? | |
|
|
|
|
|
|
|
для: tvv123456
(26.07.2010 в 19:23)
| | Вероятней всего да, из-за нагрузки. Хотя на локальном компьютере слово "нагрузка" вообще не уместна. | |
|
|
|
|
|
|
|
для: tvv123456
(26.07.2010 в 19:23)
| | а что в этом lock.php? | |
|
|
|
|
|
|
|
для: Trianon
(26.07.2010 в 19:36)
| | Ограничитель доступа к странице. Который запрашивает логин и пароль, который находиться в базе. По крайней мере, у меня так :). | |
|
|
|
|
|
|
|
для: lElectroHardl
(26.07.2010 в 19:39)
| | Простите, давайте Вы всё же будете отвечать по фактуре собственных вопросов.
Тредстартер, я уверен, сам справится. Что у него скрывается под этим файлом, врядли кто-то другой знает достовернее. | |
|
|
|
|
|
|
|
для: Trianon
(26.07.2010 в 20:08)
| | ну вообщем-то простенький замочек
<?php
function GetRealIp() { $strRemoteIP = $_SERVER['REMOTE_ADDR'];
if (!$strRemoteIP) { $strRemoteIP = urldecode(getenv('HTTP_CLIENTIP'));}
if (getenv('HTTP_X_FORWARDED_FOR')) { $strIP = getenv('HTTP_X_FORWARDED_FOR'); }
elseif (getenv('HTTP_X_FORWARDED')) { $strIP = getenv('HTTP_X_FORWARDED'); }
elseif (getenv('HTTP_FORWARDED_FOR')) { $strIP = getenv('HTTP_FORWARDED_FOR'); }
elseif (getenv('HTTP_FORWARDED')) { $strIP = getenv('HTTP_FORWARDED'); }
else { $strIP = $_SERVER['REMOTE_ADDR']; }
if ($strRemoteIP != $strIP) { $strIP = $strRemoteIP.", ".$strIP; }
return $strIP;}
//if (isset())
$name = mysql_escape_string($_SESSION['l']); // магические кавычки 100% отключены
$pass = mysql_escape_string($_SESSION['pwd']);
$antihak = 'wertj'; $t = 'Twertyn';
$result = mysql_query("SELECT * FROM users WHERE login='$name' AND pass='$pass'",$db);
if (@mysql_num_rows($result)!=1) // все собираюсь переделать и вместо этого сделать запрос с COUNT
{
include("includ/heads.php");
echo "Доступ к данной странице имеют только зарегистрированные пользователи! <a href=\"user.php?reg=1\">Зарегистрироваться</a><br>";
include("includ/foots.php");
exit;
}
if ($_SESSION['ip'] != md5(GetRealIp()))
{
unset($_SESSION['name']); unset($_SESSION['pass']); header("location: user.php?ip");
exit;
}
$myrowus = mysql_fetch_assoc($result);
if($myrowus['ban'] == 1)
{
include("includ/heads.php");
echo "Администратор сайта запретил вам доступ! <br>Причина: ".$myrowus['prichina'];
include("includ/foots.php");
exit;
}
// ниже всякие переменные необходимые для четкой работы скрипта
$username = $name;
$id_user = $myrowus['id'];
$money = $myrowus['cash'];
$_SESSION['userid'] = $id_user;
$_SESSION['balance'] = $myrowus['cash'];
// секретный ключ чтоб отсечь несанкционированные входы на страницу результатов
$secret_key = "sdfg";
|
извиняюсь что код малость в нечитабельном виде(простонаписал я его уже давно а в порядок приводить все времени нет) | |
|
|
|
|
|
|
|
для: tvv123456
(26.07.2010 в 20:12)
| | > // все собираюсь переделать и вместо этого сделать запрос с COUNT
Зачем? Если данные, при их наличии, в последствии используются, то уж лучше mysql_num_rows.
Сколько по времени выполняется весь этот скрипт? Сколько запрос к таблице users? | |
|
|
|
|
|
|
|
для: Trianon
(26.07.2010 в 20:08)
| | Ой, точно, у него там не "замочек" написан...
Автор, вы разобрались с проблемой? | |
|
|
|
|
|
|
|
для: lElectroHardl
(26.07.2010 в 21:52)
| | Нет, не разобрался. А чем вам мой замочек не нравиться?
и в чью сторону был сарказм: Ой, точно, у него там не "замочек" написан... в мою или ...? | |
|
|
|
|
|
|
|
для: tvv123456
(26.07.2010 в 22:06)
| | автор: lElectroHardl (26.07.2010 в 21:52) письмо автору
для: Trianon (26.07.2010 в 20:08) | |
|
|
|
|
|
|
|
для: lElectroHardl
(26.07.2010 в 21:52)
| | Товарищ lElectroHardl не в духе, ему хочется быть как Trianon (человек, всегда мыслящий объективно), но не хватает заряда для этого. Спаринг? Не обращайте внимания. | |
|
|
|
|
|
|
|
для: mihdan
(27.07.2010 в 12:25)
| | Ну все таки хотелось бы получить ответ по проблеме, это ошибка денвера или все-таки стоит задуматься об уменьшении нагрузки(сделать это будет ну очень непросто) | |
|
|
|
|
|
|
|
для: tvv123456
(27.07.2010 в 12:51)
| | Вот чего я не вижу, так это кода вывода диагностики неудачного соединения.
Это помимо так и не исправленного кода lock.php.
Ошибка, предположительно, из-за того, что на клиентской машине вычерпываются все свободные порты.
Судя по http://bugs.mysql.com/1222 | |
|
|
|
|
|
|
|
для: mihdan
(27.07.2010 в 12:25)
| | С чего вдруг такие доводы? Я только уточнил, кому было адресовано это сообщение. | |
|
|
|