помощь в работе скрипта

linpc

Гуру форума
Регистрация
6 Апр 2012
Сообщения
178
Реакции
55
Имеется код добавления вещи в БД, но почему то он не добавляет его. Вот код:
PHP:
mysql_query("INSERT INTO `items` (`gif`, `name`, `price`, `dprice`, `block`, `2w`, `type`, `param`, `need`, `acte`, `num_a`, `effect`, `level,` `massa`, `slot`) VALUES ('".htmlspecialchars($_POST['gif'])."','".htmlspecialchars($_POST['name'])."','".htmlspecialchars($_POST['price'])."','".htmlspecialchars($_POST['dprice'])."','".htmlspecialchars($_POST['block'])."','".htmlspecialchars($_POST['wtor'])."','".htmlspecialchars($_POST['type'])."','".htmlspecialchars($_POST['par'])."','".htmlspecialchars($_POST['need'])."','".htmlspecialchars($_POST['acte'])."','".htmlspecialchars($_POST['num_a'])."','".htmlspecialchars($_POST['effect'])."','".htmlspecialchars($_POST['level'])."','".htmlspecialchars($_POST['massa'])."','".htmlspecialchars($_POST['slot'])."');");
 
Хоть ошибку написал бы, которую выдает и откуда добавляешь (скрипт, пхпмайадмин...)
 
Хоть ошибку написал бы, которую выдает и откуда добавляешь (скрипт, пхпмайадмин...)
это пхп

нужно проверить вот что:
1. соединение с базой рабоченее, юзе-пароль, и т.д.
2. значения из поста существуют
3. строка которая "INSERT ..." корректная, её можно выполнить в phpmyadmin. Тут вариантов с ошибкой может быть предостаточно, уникальность ключа (хотя, где он тут?), значения (скажем пытается вставить строку в битовое поле) и т.д.
сделать
echo "INSERT INTO `items` (`gif`, `name`, `price`, `dprice`, `block`, `2w`, `type`, `param`, `need`, `acte`, `num_a`, `effect`, `level,` `massa`, `slot`) VALUES ('".htmlspecialchars($_POST['gif'])."','".htmlspecialchars($_POST['name'])."','".htmlspecialchars($_POST['price'])."','".htmlspecialchars($_POST['dprice'])."','".htmlspecialchars($_POST['block'])."','".htmlspecialchars($_POST['wtor'])."','".htmlspecialchars($_POST['type'])."','".htmlspecialchars($_POST['par'])."','".htmlspecialchars($_POST['need'])."','".htmlspecialchars($_POST['acte'])."','".htmlspecialchars($_POST['num_a'])."','".htmlspecialchars($_POST['effect'])."','".htmlspecialchars($_POST['level'])."','".htmlspecialchars($_POST['massa'])."','".htmlspecialchars($_POST['slot'])."');";
скопировать в phpmyadmin и посмотреть какая ошибка будет
4. посмотреть логи вэб сервера на предмет ошибки
 
Убери из запроса все `, именно косые
 
PHP:
case"prov":
if(isset($_POST['nick']) && $_POST['nick']!="" && isset($_POST['pass']) && $_POST['pass']!=""){
$nick=htmlspecialchars(stripslashes($_POST['nick']));
$pass=htmlspecialchars(stripslashes($_POST['pass']));

//

$x=0; while($x<1)
{
$ses=mt_rand(10000000,99999999);
$col=mysql_query("SELECT * FROM users WHERE ses=\"$ses\"") or die('error');
$row=mysql_fetch_array($col);
if(!isset($row['nick']))
$x=1;
}
//
$brauz=getenv('HTTP_USER_AGENT');
if (getenv("HTTP_X_FORWARDED_FOR"))
{
$ip=getenv("HTTP_X_FORWARDED_FOR");
}
else
{
$ip=getenv("REMOTE_ADDR");
}
$onli=date("U")-600;
$col=mysql_query("SELECT * FROM users WHERE online>\"$onli\" && ipsoft=\"$brauz\" && nick!=\"$nick\" && ip=\"$ip\"") or die('error');
$row=mysql_fetch_array($col);
if(isset($row['nick']) && $nick!='DemidRoLL' && $nick!='skafandr' && $nick!='Cheh' && $nick!='¤Лапуля¤' && $nick!='Dimka')
{
echo"В доступе отказано!!<br>* * * * *<br><div class=kto><a href=\"log.php\">назад</a></div>";
exit;
}
session_start();
if(isset($_SESSION['ses'])) unset($_SESSION['ses']);
if(isset($_SESSION['ses8'])) unset($_SESSION['ses8']);
$col=mysql_query("SELECT * FROM users WHERE nick=\"$nick\" && pass=\"$pass\"") or die('error');
$online=date("U");
$row=mysql_fetch_array($col);
if(isset($row['nick']))
{
$nnj=mysql_query("SELECT * FROM dop WHERE nick=\"$nick\"");
$rowk=mysql_fetch_array($nnj);
if(!isset($rowk['nick']))
$qls=mysql_query("INSERT INTO dop VALUES ('',\"$nick\",\"\",\"\",\"\",\"\")") or die('insert error');
$nnj=mysql_query("SELECT * FROM skills WHERE nick=\"$nick\"");
$rowk=mysql_fetch_array($nnj);
if(!isset($rowk['nick']))
$qls=mysql_query("INSERT INTO skills VALUES ('',\"$nick\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\")") or die('insert error');
$sq=mysql_query("SELECT * FROM komponents WHERE nick=\"$nick\"")or die('error');
$ro=mysql_fetch_array($sq);
if(!isset($ro['nick'])) mysql_query("INSERT INTO komponents VALUES ('',\"$nick\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\")") or die('insert error');
$nnj=mysql_query("SELECT * FROM equip WHERE nick=\"$nick\"");
$rowk=mysql_fetch_array($nnj);
if(!isset($rowk['eq1']))
$qls=mysql_query("INSERT INTO equip VALUES ('',\"$nick\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\")") or die('insert error');
$sql=mysql_query("UPDATE users SET ses=\"$ses\", online=\"$online\" WHERE nick=\"$nick\" && pass=\"$pass\"") or die ('set error');
$_SESSION['super']=0;
if($nick=="DemidRoLL")
$_SESSION['super']=1;
if($nick=="¤Лапуля¤")
$_SESSION['super']=2;
header("Location:index.php?ses=$ses");
exit;
Это грубо говоря регистрация персонажа, после ввода данных через форму постоянно выдает "insert error". Понятно что с базой данных проблема, но блин понять не могу где и в чем причина.
 
Последнее редактирование:
Назад
Сверху