• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Myacc tfs1.5 shop problem

jareczekjsp

Member
Joined
Jan 30, 2023
Messages
188
Reaction score
9
GitHub
Jarek123
Hello Guys I have problem When I try buy item in shop I take (send item to player I have error

Lua:
Exception class: PDOException()

SQLSTATE[HY000]: General error: 1364 Field 'login' doesn't have a default value

File: /var/www/html/ots/system/libs/pot/OTS_Base_DB.php
Line: 86


Backtrace:

#0 /var/www/html/ots/system/libs/pot/OTS_Base_DB.php(86): PDO->query()
#1 /var/www/html/ots/system/libs/pot/OTS_DB_PDOQuery_PHP71.php(10): OTS_Base_DB->doQuery()
#2 /var/www/html/ots/system/libs/shop-system.php(168): OTS_Base_DB->query()
#3 /var/www/html/ots/system/pages/gifts.php(113): GesiorShop::confirmTransactionAction()
#4 /var/www/html/ots/index.php(362): require('...')
#5 {main}

script

Code:
<?php

/**#@+
 * @version 0.1.3
 * @since 0.1.3
 */

/**
 * @package POT
 * @author Wrzasq <[email protected]>
 * @copyright 2007 (C) by Wrzasq
 * @license http://www.gnu.org/licenses/lgpl-3.0.txt GNU Lesser General Public License, Version 3
 */

/**
 * Base class for all database drivers.
 *
 * <p>
 * It defines additional rotines required by database driver for POT using default SQL standard-compliant method.
 * </p>
 *
 * @package POT
 */
abstract class OTS_Base_DB extends PDO implements IOTS_DB
{
    use OTS_DB_PDOQuery;
/**
 * Tables prefix.
 *
 * @var string
 */
    protected $prefix = '';

/**
 * Query counter
 *
 * @var int
 */
    private $queries = 0;

    protected $logged = false;
    private $log = '';

/**
 * Query-quoted field name.
 *
 * @param string $name Field name.
 * @return string Quoted name.
 */
    public function fieldName($name)
    {
        return '"' . $name . '"';
    }

    public function fieldNames()
    {
        $ret = '';

        foreach(func_get_args() as $v) {
            $ret .= $this->fieldName($v) . ',';
        }

        $ret[strlen($ret) - 1] = '';
        return $ret;
    }

/**
 * Query-quoted table name.
 *
 * @param string $name Table name.
 * @return string Quoted name.
 */
    public function tableName($name)
    {
        return $this->fieldName($this->prefix . $name);
    }

    private function doQuery(...$args)
    {
        $this->queries++;

        if($this->logged) {
            $startTime = microtime(false);
        }

        $ret = parent::query(...$args);
        if($this->logged) {
            $totalTime = microtime(true) - $startTime;
            $this->log .= round($totalTime, 4) . ' ms - ' . $args[0] . PHP_EOL;
        }

        return $ret;
    }

    public function select($table, $data)
    {
        $fields = array_keys($data);
        $values = array_values($data);
        $query = 'SELECT * FROM ' . $this->tableName($table) . ' WHERE (';

        $count = count($fields);
        for ($i = 0; $i < $count; $i++)
            $query.= $this->fieldName($fields[$i]).' = '.$this->quote($values[$i]).' AND ';
        $query = substr($query, 0, -4);
        $query.=');';

        $query = $this->query($query);
        if($query->rowCount() != 1) return false;
        return $query->fetch();
    }

    public function insert($table, $data)
    {
        $fields = array_keys($data);
        $values = array_values($data);
        $query = 'INSERT INTO ' . $this->tableName($table) . ' (';
        foreach ($fields as $field) {
            $query.= $this->fieldName($field).',';
        }

        $query = substr($query, 0, -1);
        $query .= ') VALUES (';
        foreach ($values as $value) {
            if ($value === null) {
                $query .= 'NULL,';
            }
            else {
                $query .= $this->quote($value).',';
            }
        }

        $query = substr($query, 0, -1);
        $query .= ')';

        $this->exec($query);
        return true;
    }

    public function replace($table, $data)
    {
        $fields = array_keys($data);
        $values = array_values($data);
        $query = 'REPLACE INTO '.$this->tableName($table).' (';
        foreach ($fields as $field)
            $query.= $this->fieldName($field).',';

        $query = substr($query, 0, -1);
        $query.= ') VALUES (';
        foreach ($values as $value)
            if ($value === null)
                $query.= 'NULL,';
            else
                $query.= $this->quote($value).',';

        $query = substr($query, 0, -1);
        $query .= ')';

        $this->query($query);
        return true;
    }

    public function update($table, $data, $where, $limit = 1)
    {
        $fields = array_keys($data);
        $values = array_values($data);

        $query = 'UPDATE '.$this->tableName($table).' SET ';

        $count = count($fields);
        for ($i = 0; $i < $count; $i++)
            $query.= $this->fieldName($fields[$i]).' = '.$this->quote($values[$i]).', ';

        $query = substr($query, 0, -2);
        $query.=' WHERE (';
        $fields = array_keys($where);
        $values = array_values($where);

        $count = count($fields);
        for ($i = 0; $i < $count; $i++)
            $query.= $this->fieldName($fields[$i]).' = '.$this->quote($values[$i]).' AND ';

        $query = substr($query, 0, -4);
        if (isset($limit))
            $query .=') LIMIT '.$limit.';';
        else
            $query .=');';

        $this->exec($query);
        return true;
    }

    public function delete($table, $data, $limit = 1)
    {
        $fields = array_keys($data);
        $values = array_values($data);

        $query = 'DELETE FROM ' . $this->tableName($table) . ' WHERE (';

        $count = count($fields);
        for ($i = 0; $i < $count; $i++) {
            $query .= $this->fieldName($fields[$i]) . ' = ' . $this->quote($values[$i]) . ' AND ';
        }

        $query = substr($query, 0, -4);
        if ($limit > 0) {
            $query.=') LIMIT '.$limit.';';
        }
        else {
            $query.=');';
        }

        $this->exec($query);
        return true;
    }
/**
 * LIMIT/OFFSET clause for queries.
 *
 * @param int|bool $limit Limit of rows to be affected by query (false if no limit).
 * @param int|bool $offset Number of rows to be skipped before applying query effects (false if no offset).
 * @return string LIMIT/OFFSET SQL clause for query.
 */
    public function limit($limit = false, $offset = false)
    {
        // by default this is empty part
        $sql = '';

        if($limit !== true)
        {
            $sql = ' LIMIT ' . $limit;

            // OFFSET has no effect if there is no LIMIT
            if($offset !== false)
            {
                $sql .= ' OFFSET ' . $offset;
            }
        }

        return $sql;
    }

    public function queries() {
        return $this->queries;
    }

    public function getLog() {
        return $this->log;
    }
}

/**#@-*/

?>
Can help me please?
 
Do you have the 'shop' script inside the globalevents? It's about providing items to the player. From this site, it sends items to the player. Without the script, you cannot make it work. It's necessary to have the 'shop' script. Also, I'm not very skilled in MyAAC... only Znote and Gesior at the moment.
 
now is whe I open shop page is


Lua:
Exception class: PDOException()

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'description' in 'field list'

File: /var/www/html/ots/system/libs/pot/OTS_Base_DB.php
Line: 86


Backtrace:

#0 /var/www/html/ots/system/libs/pot/OTS_Base_DB.php(86): PDO->query()
#1 /var/www/html/ots/system/libs/pot/OTS_DB_PDOQuery_PHP71.php(10): OTS_Base_DB->doQuery()
#2 /var/www/html/ots/system/pages/gifts.php(128): OTS_Base_DB->query()
#3 /var/www/html/ots/index.php(353): require('...')
#4 {main}
Post automatically merged:

Do you have the 'shop' script inside the globalevents? It's about providing items to the player. From this site, it sends items to the player. Without the script, you cannot make it work. It's necessary to have the 'shop' script. Also, I'm not very skilled in MyAAC... only Znote and Gesior at the moment.
yes yes I have
 
Lua:
"enabled": 0,
    "name": "Example Plugin",
    "description": "This is just an example of a Plugin for MyAAC.",
    "version": "1.0",
    "author": "nobody",
    "contact": "[email protected]",
    "require": {
        "myaac": "0.4.3",
        "myaac_": ">=0.7,<1.0", // support for defining versions like in composer (since 0.8)
        "php": "5.2.0",
        "php_": ">5.4,<7.0", // support for defining versions like in composer (since 0.8)
        "database": "21",
        "php-ext": "curl", // php extension needs to be installed (since 0.8)
        "ext-curl": ">5.0", // php extension with version specifiec (since 0.8)
        "table": "accounts", // table need to exist in database (since 0.8)
        "column": "players.online" // column need to exist in database (since 0.8)
This one? is example.json because I can not find Plugin.json
 
Lua:
{
    "name": "gesior-shop-system",
    "description": "This is shop system taken from Gesior, modified for MyAAC.",
    "version": "2.4",
    "author": "Gesior, slawkens, whiteblXK",
    "contact": "[email protected]",
    "hooks": {
        "startup": {
            "type": "STARTUP",
            "file": "plugins/gesior-shop-system/startup.php"
        }
    },
    "install": "plugins/gesior-shop-system/install.php",
    "require": {
        "php-ext": "curl"
    }
}
 
Back
Top