Ir para conteúdo

Posts Recomendados

Bug:

Warning: sqlite_query() [function.sqlite-query]: unrecognized token: "`" in C:\xampp\htdocs\xtwebsite\XT_API\SQLConnection.php on line 119

 

Fatal error: Call to undefined function sqlite_error() in C:\xampp\htdocs\xtwebsite\XT_API\SQLConnection.php on line 100

 

Abra o arquivo SQLConnection.php da API, apague tudo e coloque:

<?php

/*

### Desenvolvido por Anderson F Rodrigues (www.andersonferminiano.com);

### Apoio do XTibia Fórum (www.xtibia.com/forum/).

### Obrigado por utilizar!

### Reporte bugs, dê sugestões e participe do desenvolvimento pelo fórum XTibia!

*/

// SQL Connection Class

class SQLConnection {

private $con = null;

private $sqltype = 0; // 1 for mysql, 2 for sqlite

private $database = null;

function __construct($type,$parameters)

{

switch($type)

{

case 'mysql':

default:

$this->con = mysql_connect($parameters['host'],$parameters['user'],$parameters['password']) or die("Erro na conexão com servidor MySQL.");

$this->database = mysql_select_db($parameters['database'], $this->con) or die("Erro na conexão com banco de dados MySQL.");

$this->sqltype = 1;

break;

case 'sqlite':

$this->con = sqlite_open($parameters['database_file'], 0666, $err) or die("Erro na conexão com banco de dados SQLite.<br>Erro ".$err);

$this->sqltype = 2;

break;

}

}

 

function arrayToQueryString($array)

{

$querystring = "";

$i = 0;

foreach(array_keys($array) as $keys)

{

$i++;

$operador = " LIKE ";

if (is_numeric($array[$keys]))

{

$operador = " = ";

}

$querystring .= "`".$keys."` ".$operador." '".$array[$keys]."'";

if ($i != sizeof($array))

{

$querystring .= " AND ";

}

}

return $querystring;

}

 

function arrayToInsertString($array)

{

$fields = "";

$values = "";

$i = 0;

foreach(array_keys($array) as $keys)

{

$i++;

if (strlen($array[$keys]) > 0)

{

$fields .= "`".$keys."`";

$values .= "'".$array[$keys]."'";

if ($i < sizeof($array))

{

$fields .= ",";

$values .= ",";

}

}

}

return "(".$fields.") VALUES (".$values.")";

}

 

function arrayToUpdateString($array)

{

$updatestring = "";

$i = 0;

foreach(array_keys($array) as $keys)

{

$i++;

$updatestring .= "`".$keys."`='".$array[$keys]."'";

if ($i < sizeof($array))

{

$fields .= ",";

$values .= ",";

}

}

return "SET ".$$updatestring;

}

 

function error()

{

switch ($this->sqltype)

{

case 1:

// mysql connection

return mysql_error();

break;

case 2:

// sqlite connection

return sqlite_last_error();

break;

}

return false;

 

}

 

 

function executeQuery($query)

{

switch ($this->sqltype)

{

case 1:

// mysql connection

$sql = mysql_query($query, $this->con);

return $sql;

break;

case 2:

// sqlite connection

$query = str_replace("`", "", $query);

$sql = sqlite_query($this->con, $query);

return $sql;

break;

}

return false;

}

 

function fetchAssoc($query)

{

$results = array();

switch ($this->sqltype)

{

case 1:

// mysql connection

while ($result = mysql_fetch_assoc($query))

{

$results[] = $result;

}

break;

case 2:

// sqlite connection

while ($result = sqlite_fetch_array($query, SQLITE_ASSOC))

{

$results[] = $result;

}

break;

}

 

return $results;

}

 

function numRows($query)

{

switch ($this->sqltype)

{

case 1:

// mysql connection

return mysql_num_rows($query);

break;

case 2:

// sqlite connection

return sqlite_num_rows($query);

break;

}

}

 

function close()

{

switch ($this->sqltype)

{

case 1:

// mysql connection

mysql_close($this->con);

break;

case 2:

// sqlite connection

sqlite_close($this->con);

break;

}

}

 

function last_insert()

{

switch ($this->sqltype)

{

case 1:

// mysql connection

return mysql_insert_id($this->con);

break;

case 2:

// sqlite connection

return sqlite_last_insert_rowid($this->con);

break;

}

}

}

 

 

?>

Link para o comentário
https://xtibia.com/forum/topic/119552-patch-arrumando-sqlite-bug/
Compartilhar em outros sites

É, muito bom. Não entendi NADA, sobre isso! Mas, você cumpriu com sua palavra, o que normalmente não acontece quando se trata de Tibia. Hoje você disse que postaria logo a noite o patch da dica do cara, e logo resolveu, compromisso, muito bom! Parabéns. Gostei de ver seu compromisso =]

Link para o comentário
https://xtibia.com/forum/topic/119552-patch-arrumando-sqlite-bug/#findComment-786319
Compartilhar em outros sites

Opa! Compromisso sempre hehe....

 

Estou meio sem tempo dia de semana, mas assim que der posto o primeiro tutorial, comecei fazer hoje na empresa, acho que até sexta tá pronto, provavelmente terminarei nas 3 aulas de lógica de programação quarta que eu fico dormindo.

Link para o comentário
https://xtibia.com/forum/topic/119552-patch-arrumando-sqlite-bug/#findComment-786367
Compartilhar em outros sites

×
×
  • Criar Novo...