Achei um sistema de likes para meu procjeto. O problema é que está depreciado, tentei actualiza, mas tem umas coisas que não consegui fazer:
- vou mandar os códigos que não consegui actualizar e um que actualizei para que vocês possam saber com o que eu estou mexendo.
conexão depreciada
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$banco = 'video_aula';
$conectar = mysql_connect($host, $user, $pass);
if($conectar){
mysql_select_db($banco);
}
?>
nova conexão
<?php
date_default_timezone_set('America/Sao_Paulo');
/**
* PDO PHP Persistence Class
* https://github.com/victortassinari/pdophpclass
*
*
* @author Victor Tassinari - victortassinarix@gmail.com
*/
class Banco {
private static $connection;
private $debug;
private $server;
private $user;
private $password;
private $database;
public function __construct() {
$this->debug = true;
$this->server = "127.0.0.1";
$this->user = "root";
$this->password = "";
$this->database = "video_aula";
}
/**
* Create a database connection or return the connection already open using Singletion Design Patern
* @return PDOConnection|null
*/
public function getConnection() {
try {
if (self::$connection == null) {
self::$connection = new PDO("mysql:host={$this->server};dbname={$this->database};charset=utf8", $this->user, $this->password);
self::$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
self::$connection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
self::$connection->setAttribute(PDO::ATTR_PERSISTENT, true);
}
return self::$connection;
} catch (PDOException $ex) {
if ($this->debug) {
echo "<b>Error on getConnection(): </b>" . $ex->getMessage() . "<br/>";
}
die();
return null;
}
}
/**
* Unset connection
* @return void
*/
public function Disconnect() {
$this->connection = null;
}
/**
* Return the last id of insert statement
* @return int
*/
public function GetLastID() {
return $this->getConnection()->lastInsertId();
}
/**
* Start one database transaction
* @return void
*/
public function BeginTransaction() {
return $this->getConnection()->beginTransaction();
}
/**
* Commit changes on opened transaction
* @return void
*/
public function Commit() {
return $this->getConnection()->commit();
}
/**
* Roolback changes on opened transaction
* @return void
*/
public function Rollback() {
return $this->getConnection()->rollBack();
}
/**
* returns the result of a query (select) of only one row
* @param string $sql the sql string
* @param array $params the array of parameters (array(":col1" => "val1",":col2" => "val2"))
* @return one position array for the result of query
*/
public function ExecuteQueryOneRow($sql, $params = null) {
try {
$stmt = $this->getConnection()->prepare($sql);
$stmt->execute($params);
return $stmt->fetch(PDO::FETCH_ASSOC);
} catch (PDOException $ex) {
if ($this->debug) {
echo "<b>Error on ExecuteQueryOneRow():</b> " . $ex->getMessage() . "<br />";
echo "<br /><b>SQL: </b>" . $sql . "<br />";
echo "<br /><b>Parameters: </b>";
print_r($params) . "<br />";
}
die();
return null;
}
}
/**
* returns the result of a query (select)
* @param string $sql the sql string
* @param array $params the array of parameters (array(":col1" => "val1",":col2" => "val2"))
* @return array for the result of query
*/
public function ExecuteQuery($sql, $params = null) {
try {
$stmt = $this->getConnection()->prepare($sql);
$stmt->execute($params);
return $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $ex) {
if ($this->debug) {
echo "<b>Error on ExecuteQuery():</b> " . $ex->getMessage() . "<br />";
echo "<br /><b>SQL: </b>" . $sql . "<br />";
echo "<br /><b>Parameters: </b>";
print_r($params) . "<br />";
}
die();
return null;
}
}
/**
* returns if the query was successful
* @param string $sql the sql string
* @param array $params the array of parameters (array(":col1" => "val1",":col2" => "val2"))
* @return boolean
*/
public function ExecuteNonQuery($sql, $params = null) {
try {
$stmt = $this->getConnection()->prepare($sql);
return $stmt->execute($params);
} catch (PDOException $ex) {
if ($this->debug) {
echo "<b>Error on ExecuteNonQuery():</b> " . $ex->getMessage() . "<br />";
echo "<br /><b>SQL: </b>" . $sql . "<br />";
echo "<br /><b>Parameters: </b>";
print_r($params) . "<br />";
}
die();
return false;
}
}
}
funções depreciadas
function get_artigos(){
$artigos = array();
$selecionar = mysql_query("SELECT `artigo_id`,`titulo`,`likes` FROM `artigos`");
while($row = mysql_fetch_object($selecionar)){
$artigos[] = array(
'id_artigo' => $row->artigo_id,
'titulo' => $row->titulo,
'likes' => $row->likes
);
}
return $artigos;
}
Função actualizada
function RetornarArtigos(){
try {
$sql = "SELECT id_artigo, titulo, likes FROM artigos";
$dt = $this->pdo->ExecuteQuery($sql);
$listaArtigo = [];
foreach ($dt as $art) {
$artigo = new Artigo();
$artigo->setCod($art["id_artigo"]);
$artigo->setTitulo($art["titulo"]);
$artigo->setLikes($art["likes"]);
$listaArtigo[] = $artigo;
}
return $listaArtigo;
} catch (PDOException $ex) {
if ($this->debug) {
echo "ERRO: {$ex->getMessage()} LINE: {$ex->getLine()}";
}
return null;
}
}
Função depreciada
function verificar_clicado($id_artigo, $id_usuario){
$id_artigo = (int)$id_artigo;
$id_usuario = (int)$id_usuario;
$verificar = mysql_query("SELECT like_id FROM `likes` WHERE user_id = '$id_usuario' AND artigo_id = '$id_artigo'");
return (mysql_num_rows($verificar) >= 1) ? true : false;
Não consegui actualizar
Função depreciada
function adicionar_like($id_artigo, $id_usuario){
$id_artigo = (int)$id_artigo;
$id_usuario = (int)$id_usuario;
$atualizar_likes_post = mysql_query("UPDATE `artigos` SET likes = likes+1 WHERE artigo_id = '$id_artigo'");
if($atualizar_likes_post){
$inserir_like = mysql_query("INSERT INTO `likes` (user_id, artigo_id) VALUES ('$id_usuario','$id_artigo')");
if($inserir_like){
return true;
}else{
return false;
}
}
}
Não consegui actualizar
Função depreciada
function retornar_likes($id_artigo){
$id_artigo = (int)$id_artigo;
$selecionar_num_likes = mysql_query("SELECT likes FROM `artigos` WHERE artigo_id = '$id_artigo'");
$fetch_likes = mysql_fetch_object($selecionar_num_likes);
return $fetch_likes->likes;
}
Não consegui actualizar