Перейти к содержанию
Авторизация  
FocusII

Ошибка Msql 1364 При Добавлении Итема С Админки Sw13

Рекомендуемые сообщения

суть дела в следующем: в админке СВ добавляю персам итемы,какие то итемы добавляются а какие то нет и выдает ошибку...чет всю голову сломал уже... подскажите кто знает решение

 

Ошибка MySQL!

========================

 

MySQL вернул ошибку:

Field 'first_owner_id' doesn't have a default value

 

Номер ошибки:

1364

 

 

 

INSERT INTO `items` SET `owner_id`='268502920',`object_id`='268504693',`item_id`='39',`count`=1,`enchant_level`='0',`loc`='INVENTORY'

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуй поставить в колонке first_owmer_id default null.

о у меня такой колонки вообще нету оО,

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

все есть,нетуда глянул там значения записаны такие же как и owner_id

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

о у меня такой колонки вообще нету оО,

в этой колонке можно ставить только цифры,если же оставить пустым(null) то пишет что неможет типа быть null))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такая же ошибка только при настройке скрипта Nextpay

 

 

Неуспешная доставка заказа. Ответ от сервера продавца: Field 'first_owner_id' doesn't have a default value

 

<?php

require_once("l2_delivery_config.php");
$STATUS_ORDER_DELIVERED = 1;
 
$orderId = null;
$la2ItemId = null;
$productCount = null;
$orderHash = null;
$char = null;
$profit = null;
$volute = null;
$comment = null;
 
 
function logOrder()
{
global $SQL_SERVER_SMS;
openSQLConnection($SQL_SERVER_SMS);
global $orderId, $la2ItemId, $profit, $volute, $productCount, $L2_SERVER_ID, $char;
 
$orderIdSQL = mysql_escape_string($orderId);
 
$query = "select 1 from nextpay_l2_order where order_id = '$orderIdSQL'";
$res = mysql_query($query) or die(mysql_error());
if(mysql_num_rows($res) == 0)
{
$la2ItemIdSQL = mysql_escape_string($la2ItemId);
$profitSQL = mysql_escape_string($profit);
$voluteSQL = mysql_escape_string($volute);
$serverSQL = mysql_escape_string($L2_SERVER_ID);
$charSQL = mysql_escape_string($char);
$productCountSQL = mysql_escape_string($productCount);
global $STATUS_ORDER_DELIVERED;
$status = $STATUS_ORDER_DELIVERED;
$commentSQL = 'NULL';
$query = "insert into nextpay_l2_order (order_id, date_created, product_id, profit, volute, product_count, server, char_name, comment, status)";
$query .= " values('$orderIdSQL', now(),  '$la2ItemIdSQL', '$profitSQL', '$voluteSQL', '$productCountSQL', '$serverSQL', '$charSQL', $commentSQL, $status)";
mysql_query($query) or die(mysql_error());
}
mysql_close();
}
 
 
function isOrderDelivered($orderId)
{
global $SQL_SERVER_SMS;
openSQLConnection($SQL_SERVER_SMS);
$orderIdSQL = mysql_escape_string($orderId);
$query = "select 1 from nextpay_l2_order where order_id = '$orderIdSQL' and status = 1";
$res = mysql_query($query) or die(mysql_error());
$ret = mysql_num_rows($res) != 0;
mysql_close();
return $ret;
}
 
 
function getNameById($id, $array)
{
if($id == null)
{
return "";
}
else
{
if(array_key_exists($id, $array))
{
return $array[$id];
}
else
{
return "";
}
}
}
 
 
function getVoluteName($id)
{
global $VOLUTE_NAMES;
return getNameById($id, $VOLUTE_NAMES);
}
 
function openItemsDBConnection()
{
global $SQL_SERVER_ITEMS;
openSQLConnection($SQL_SERVER_ITEMS);
}
 
 
function openSQLConnection($data)
{
$db_host = $data["host"];
$db_user = $data["login"];
$db_pass = $data["pass"];
$db_name = $data["db"];
mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
}
 
 
function success()
{
sendNotificationEmail("Product delivered");
echo "ok";
}
 
function sendNotificationEmail($message)
{
global $SEND_NOTIFICATION_BY_EMAIL_ENABLED;
if($SEND_NOTIFICATION_BY_EMAIL_ENABLED)
{
global $EMAIL_FROM_ADDRESS;
global $EMAIL_ADDRESS;
global $EMAIL_SUBJECT;
global $L2_SERVER_NAME;
 
$headers = 'From: '.$EMAIL_FROM_ADDRESS.'' . "\r\n" .
'Reply-To: '.$EMAIL_FROM_ADDRESS.'' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
 
$orderId = $_REQUEST["order_id"];
$profit = $_REQUEST["profit"];
$char =  $_REQUEST["character"];
$count = $_REQUEST["product_count"];
$serverName = $L2_SERVER_NAME;
$volute = $_REQUEST["volute"];
$voluteName = getVoluteName($volute);
$comment = $_REQUEST["comment"];
 
 
$msg =
"order=$orderId
currency=$voluteName
sum=$profit
server=$serverName
charname=$char
product count=$count
comment=$comment
STATUS=$message";
mail($EMAIL_ADDRESS, $EMAIL_SUBJECT, $msg, $headers);
}
}
 
function error($msg)
{
echo "Ошибка при обработке. $msg";
sendNotificationEmail($msg);
die();
}
 
 
function preprocess()
{
global $orderId, $la2ItemId, $productCount, $orderHash, $char, $profit, $volute, $SECRET_KEY, $comment;
$orderId = $_REQUEST["order_id"];
if($orderId == null)
{
error("Не передан ID заказа");
}
$orderId = intval($orderId);
 
 
$la2ItemId =  $_REQUEST["seller_product_id"];
if($la2ItemId == null)
{
error("Не передан ID продукта");
}
$la2ItemId = intval($la2ItemId);
 
$productCount =  $_REQUEST["product_count"];
if($productCount == null)
{
error("Не передано количество продукта");
}
$productCount = intval($productCount);
 
if($productCount <= 0)
{
error("Неверное значение параметра \"количество продукта\"");
}
 
$orderHash =  $_REQUEST["hash"];
if($orderHash == null)
{
error("Не передана контрольная сумма заказа");
}
 
$profit = $_REQUEST["profit"];
if($profit == null)
{
error("Не передана стоимость заказа");
}
if($profit < 0)
{
error("Неверное значение параметра \"стоимость заказа\"");
}
 
$volute = $_REQUEST["volute"];
if($volute == null)
{
error("Не передана валюта заказа");
}
$volute = intval($volute);
 
$comment = $_REQUEST["comment"];
 
//custom parameter
$char = $_REQUEST["character"];
if($char == null)
{
error("Не передан ник");
}
 
 
//Проверка контрольной суммы
$hash = "$orderId$la2ItemId$productCount$profit$volute$SECRET_KEY";
$hash = sha1($hash);
 
if($hash != $orderHash)
{
error("Контрольные суммы не совпадают");
}
 
if(isOrderDelivered($orderId))
{
error("Данный заказ уже доставлен");
}
}
 
 
function deliverProduct()
{
global $char, $la2ItemId, $productCount, $PRODUCT_LOCATION, $PRODUCT_COUNT_FACTOR;
if($PRODUCT_COUNT_FACTOR >= 1)
{
//Умножаем на фактор, если мы продаем продукт в пакетах
$productCount *= $PRODUCT_COUNT_FACTOR;
}
openItemsDBConnection();
$charSQL = mysql_real_escape_string($char);
$sql = "select online, charId from characters where char_name = '$charSQL'";
$result = mysql_query($sql) or die(mysql_error());
 
if (mysql_num_rows($result) == 0)
{
mysql_close();
error("Нет такого персонажа: $char");
}
 
 
$itemId = null;
$userId = mysql_result($result, 0, "charId");
$sql = "select object_id from items order by object_id desc limit 1";
$result = mysql_query($sql) or die(mysql_error());
if (mysql_numrows($result) > 0)
{
$itemId = mysql_result($result,0,"object_id") + 1;
}
else
{
$itemId = 268502187;
}
 
$productCountSQL = mysql_escape_string($productCount);
$la2ItemIdSQL = mysql_escape_string($la2ItemId);
 
$sql = "insert into items (owner_id, object_id, item_id, count, loc, loc_data) values
('$userId', '$itemId', '$la2ItemIdSQL', '$productCountSQL', '$PRODUCT_LOCATION', '0')";
$result = mysql_query($sql) or die(mysql_error());
mysql_close();
 
logOrder();
success();
}
 
 
 
?>

Подскажите где накосячил?

В таблице менял на default 0 и null толку "0"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

суть дела в следующем: в админке СВ добавляю персам итемы,какие то итемы добавляются а какие то нет и выдает ошибку...чет всю голову сломал уже... подскажите кто знает решение

 

Ошибка MySQL!

========================

 

MySQL вернул ошибку:

Field 'first_owner_id' doesn't have a default value

 

Номер ошибки:

1364

 

 

 

INSERT INTO `items` SET `owner_id`='268502920',`object_id`='268504693',`item_id`='39',`count`=1,`enchant_level`='0',`loc`='INVENTORY'

 

 

Попробуй вручную залить этот запрос через навикат или пхпмойадмин

 

Пишет что нет значения по умолчанию.

 

Или попробуй так же через навикат вот так

INSERT INTO `items`(owner_id, object_id, item_id, count, enchant_level, loc)

VALUES(268502920, 268504693, 39, 1, 0, 'INVENTORY');

 

 

Так же попробуй посмотри те запросы которые заливаются нормально, и возьми с них пример

Изменено пользователем Flayter
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нечего себе какую старую тему апнули))я так тогда и забил на это.Но надо будет попробовать как нибудь.Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я сделал так и все заработало

 

 

    } else {
                                $object_id = $gdb[$sid]->result( $gdb[$sid]->query("SELECT MAX(`object_id`)+1 AS `object_id` FROM `items`"), 0 );
                                $gdb[$sid]->query( "INSERT INTO `items` (`first_owner_id`,`owner_id`,`object_id`,`item_id`,`count`,`enchant_level`,`loc`,`loc_data`) VALUES ('{$charId}', '{$charId}', '{$object_id}', '{$l2cfg["gs"][$sid]["changer"]["item_id"]}', '{$count}', '0', 'INVENTORY', '0')" );
                                if ( $gdb[$sid]->affected() > 0 )
                                    $success = true;
                                else
                                    $tpl->ShowError( $lang["error"], $lang["err_db"] );

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

суть дела в следующем: в админке СВ добавляю персам итемы,какие то итемы добавляются а какие то нет и выдает ошибку...чет всю голову сломал уже... подскажите кто знает решение

 

Ошибка MySQL!

========================

 

MySQL вернул ошибку:

Field 'first_owner_id' doesn't have a default value

 

Номер ошибки:

1364

 

 

 

INSERT INTO `items` SET `owner_id`='268502920',`object_id`='268504693',`item_id`='39',`count`=1,`enchant_level`='0',`loc`='INVENTORY'

вам стоит вообще отключить выдачу предметов в стрессе, оставить просмотр  таблиц и регистрацию. для доната делайте отдельного пользователя

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...