[help]Запрос или вчём ошибка....
2 ответов89 просмотровСейчас просматривают: 1
· 03.04.2009, 20:48
Доброе Ночь или утро =)
Надо отредактировать запрос под l2base 1.1.6
mysql_query("INSERT INTO `items` (`owner_id`, `object_id`, `item_id`, `count, enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`) )
^ этот я отредактировал правильно
VALUES('".mysql_escape_string($char_id)."', '".$ins_id."', '$bonus_id', '$cols_name', '".$cols_for_vote."', '0', 'INVENTORY', '0', '0', '0', 'NULL', '0', '0', '-1')");
а этот я не знаю как правильно отредактировать.
вот сама страница
Код
<?
if(!isset($_POST['name'])){
echo '<form action="l2top.php" method="post">';
echo 'Ник персонажа<br/>
<input type="text" name="name"/><br/><br/>
<input type="submit" value="Получить бонус"/>
</form>';
}else{
$bonus_id=65436; // ID вещи которую зачисляем игроку как бонус за голосование | По умолчанию 4037 - Coin of Luck
$cols_for_vote=4000; // Колличество зачисляемых вещей за одно голосование
$id_l2top=6820; // Ваш ID в рейтинге L2Top
$cols_name='PC Bang Points';//название бонуса
$host='IP REALNE'; // сервер на котором установлена база данных L2J
$user='microsoft xD'; // имя пользователя от базы данный
$pass='dsdasdas'; // пароль пользователя от базы данный
$db='dsss'; // название базы данных
$mc = mysql_connect($host, $user, $pass);
if($mc){
$db = mysql_select_db ($db);
}
if(!$mc || !$db){
echo 'Нет соединения с базой данных.';
exit;
}
$name=mysql_escape_string($_POST['name']);
$ch=mysql_query("SELECT obj_Id FROM characters WHERE char_name = '$name';");
$chd=mysql_fetch_assoc($ch);
$char_id=$chd['obj_Id'];
$total=0;
$your_ip = $_SERVER['REMOTE_ADDR'];
$dip=explode('.',$your_ip);
$your_ip1 = $dip[0].'.'.$dip[1].'.'.$dip[2].'.xxx';
$html = @file_get_contents('http://l2top.ru/?servID='.$id_l2top.'&act=info');
if (!$html || !preg_match_all('/<td>([^<]+)<\/td>/', $html, $matches))
$error .= 'Не удалось получить информацию с L2Top.ru!<br/>';
else
{
foreach ($matches[1] as $id => $nick)
{
if (strtolower(trim($nick))==strtolower(trim($name))) {
$voters[] = $matches[1][$id-2];
}
}
if ($voters != array())
{
foreach ($voters as $time)
{
$result = mysql_query("SELECT * FROM `l2top` WHERE `nick` = '".mysql_escape_string($name)."' AND `time` = '".mysql_escape_string($time)."'");
$row = mysql_fetch_assoc($result);
if ($row == array())
{
$result = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 65436");
$row = mysql_fetch_assoc($result);
if ($row == array())
{
$result = mysql_query("SELECT MAX(`object_id`)+1 AS `id` FROM `items`");
$row = mysql_fetch_assoc($result);
$ins_id = $row['id'];
/*
mysql_query("INSERT INTO `items` (`object_id`, `owner_id`, `item_id`, `name`, `count`, `enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`)
VALUES(".mysql_escape_string($char_id).", ".$ins_id.", $bonus_id, ".$cols_for_vote.", 0, 'INVENTORY', 0, 0, 0, NULL, 0, 0, -1)");
данный запрос необходимо переделывать взависимости от того, какая структура таблицы items у вас на сборке сервера. Данный запрос отвечает за добавление бонусной вещи за голосование в инвентарь, если у вас её еще нет.
*/
mysql_query("INSERT INTO `items` (`owner_id`, `object_id`, `item_id`, `count, enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`) )
VALUES('".mysql_escape_string($char_id)."', '".$ins_id."', '$bonus_id', '$cols_name', '".$cols_for_vote."', '0', 'INVENTORY', '0', '0', '0', 'NULL', '0', '0', '-1')");
}
else
mysql_query("UPDATE `items` SET `count` = `count` + ".$cols_for_vote." WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = '".$bonus_id."'");
mysql_query("INSERT INTO `l2top` (`nick`, `ip`, `time`) VALUES ('".$name."', '".mysql_escape_string($your_ip1)."', '".mysql_escape_string($time)."')");
$total += $cols_for_vote;
$error .= 'Голос за '. $time.' зачислен.<br/>';
}
else
$error .= 'Голос за '. $time.' уже был зачислен.<br/>';
}
}
else
$error .= 'Ваш голос на сайте L2Top.ru не найден.<br>';
}
echo $error.'<br><b>'.$total.'</b> PC Baing Points зачислено вашему персонажу!<br/>';
}
?>
if(!isset($_POST['name'])){
echo '<form action="l2top.php" method="post">';
echo 'Ник персонажа<br/>
<input type="text" name="name"/><br/><br/>
<input type="submit" value="Получить бонус"/>
</form>';
}else{
$bonus_id=65436; // ID вещи которую зачисляем игроку как бонус за голосование | По умолчанию 4037 - Coin of Luck
$cols_for_vote=4000; // Колличество зачисляемых вещей за одно голосование
$id_l2top=6820; // Ваш ID в рейтинге L2Top
$cols_name='PC Bang Points';//название бонуса
$host='IP REALNE'; // сервер на котором установлена база данных L2J
$user='microsoft xD'; // имя пользователя от базы данный
$pass='dsdasdas'; // пароль пользователя от базы данный
$db='dsss'; // название базы данных
$mc = mysql_connect($host, $user, $pass);
if($mc){
$db = mysql_select_db ($db);
}
if(!$mc || !$db){
echo 'Нет соединения с базой данных.';
exit;
}
$name=mysql_escape_string($_POST['name']);
$ch=mysql_query("SELECT obj_Id FROM characters WHERE char_name = '$name';");
$chd=mysql_fetch_assoc($ch);
$char_id=$chd['obj_Id'];
$total=0;
$your_ip = $_SERVER['REMOTE_ADDR'];
$dip=explode('.',$your_ip);
$your_ip1 = $dip[0].'.'.$dip[1].'.'.$dip[2].'.xxx';
$html = @file_get_contents('http://l2top.ru/?servID='.$id_l2top.'&act=info');
if (!$html || !preg_match_all('/<td>([^<]+)<\/td>/', $html, $matches))
$error .= 'Не удалось получить информацию с L2Top.ru!<br/>';
else
{
foreach ($matches[1] as $id => $nick)
{
if (strtolower(trim($nick))==strtolower(trim($name))) {
$voters[] = $matches[1][$id-2];
}
}
if ($voters != array())
{
foreach ($voters as $time)
{
$result = mysql_query("SELECT * FROM `l2top` WHERE `nick` = '".mysql_escape_string($name)."' AND `time` = '".mysql_escape_string($time)."'");
$row = mysql_fetch_assoc($result);
if ($row == array())
{
$result = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 65436");
$row = mysql_fetch_assoc($result);
if ($row == array())
{
$result = mysql_query("SELECT MAX(`object_id`)+1 AS `id` FROM `items`");
$row = mysql_fetch_assoc($result);
$ins_id = $row['id'];
/*
mysql_query("INSERT INTO `items` (`object_id`, `owner_id`, `item_id`, `name`, `count`, `enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`)
VALUES(".mysql_escape_string($char_id).", ".$ins_id.", $bonus_id, ".$cols_for_vote.", 0, 'INVENTORY', 0, 0, 0, NULL, 0, 0, -1)");
данный запрос необходимо переделывать взависимости от того, какая структура таблицы items у вас на сборке сервера. Данный запрос отвечает за добавление бонусной вещи за голосование в инвентарь, если у вас её еще нет.
*/
mysql_query("INSERT INTO `items` (`owner_id`, `object_id`, `item_id`, `count, enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`) )
VALUES('".mysql_escape_string($char_id)."', '".$ins_id."', '$bonus_id', '$cols_name', '".$cols_for_vote."', '0', 'INVENTORY', '0', '0', '0', 'NULL', '0', '0', '-1')");
}
else
mysql_query("UPDATE `items` SET `count` = `count` + ".$cols_for_vote." WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = '".$bonus_id."'");
mysql_query("INSERT INTO `l2top` (`nick`, `ip`, `time`) VALUES ('".$name."', '".mysql_escape_string($your_ip1)."', '".mysql_escape_string($time)."')");
$total += $cols_for_vote;
$error .= 'Голос за '. $time.' зачислен.<br/>';
}
else
$error .= 'Голос за '. $time.' уже был зачислен.<br/>';
}
}
else
$error .= 'Ваш голос на сайте L2Top.ru не найден.<br>';
}
echo $error.'<br><b>'.$total.'</b> PC Baing Points зачислено вашему персонажу!<br/>';
}
?>
помогите пожалуйста , уже не знаю как что делать , кто поможет , тыкну пасибку =)
Заранее Спасибо.
0
· 06.04.2009, 02:35
Цитата
mysql_query("INSERT INTO `items` (`owner_id`, `object_id`, `item_id`, `count, enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`) )
Тут ошибка "`count, enchant_level`," пропустил " ` "2 штуки тоесть вот так должно быть "`count`, `enchant_level`,"
Цитата
VALUES('".mysql_escape_string($char_id)."', '".$ins_id."', '$bonus_id', '$cols_name', '".$cols_for_vote."', '0', 'INVENTORY', '0', '0', '0', 'NULL', '0', '0', '-1')");
а этот я не знаю как правильно отредактировать.
а этот я не знаю как правильно отредактировать.
Вот под твою структуру таблицы:
VALUES('".mysql_escape_string($char_id)."', '".$ins_id."', '.$bonus_id.', '".$cols_for_vote."', '0', 'INVENTORY', '0', '0', '0', 'NULL', '0', '0', '-1')");
Подсказка:
тут $ch=mysql_query("SELECT obj_Id FROM characters WHERE char_name = '$name';");
м тут $char_id=$chd['obj_Id'];
Зайди в таблицу "characters" и посмотри как называеться у тебя столбец "charId" или "obj_Id" в соотвецтвии в коде поменяй как у тебя!
0
Тема закрыта для ответов

