Change image upload from mysql_query to PDO

1

I would like to change this code that is working with mysql_* to PDO :

<?php
if ( isset($_POST['enviar']) ) {
    $arquivo = $_FILES['arquivo']['name'];
    $update = mysql_query("UPDATE cabecalho SET logo = '$logo");

    if ($update == '') {
        echo "<script language='javascript'>window.alert('Erro ao atualizar imagem!!!');</script>";
    } else {
        echo "<script language='javascript'>window.alert('Imagem cadastrada com sucesso!!!');</script>";

        //referenciar a classe upload
        include("../Upload.class.php");

        $imagem = "";

        if( isset($_FILES["arquivo"]) ){
            $dir_dest = "../upload";

            //linha que faz o upload
            $upload = new Upload($_FILES['arquivo'], $dir_dest);

            // verifica se foi realizado corretamente o upload
            if ($upload->processed) {
                $imagem=$upload->file_dst_name;
            }
        }

        echo "<img src='../upload/$imagem'/><br /><br />";
        echo "<img src='../upload/mini/$imagem'/>";
    }
}
?>
<form action="" method="post" enctype="multipart/form-data" name="cadastro">
    Imagem do Logo
    <br /><br />
    Logo : <input type="file" name="logo" />
    <br /><br />
    <input type="submit" value="Cadastrar" name="enviar">
</form>

Hugs to all, and frigging for attention.

    
asked by anonymous 13.05.2015 / 20:46

1 answer

2

First you need a connection to the PDO, here's an example below.

$host="localhost";
$login="root"; // Seu login do banco de dados
$senha=""; // Sua senha do banco de dados
$db="nome_banco"; // Nome de sua base de dados
$conn = new PDO("mysql:host=$host;dbname=$db",$login,$senha);

Once you have done this, you need to prepare your queries, here is the code below:

  

But you have problems with your logic, and it will not work correctly, but the treatment to use the PDO is the example below. You can study the pdo implementation in place of mysql_ * I believe that understanding how it works would be best for you to do your development.

<?php

$host="localhost";
$login="root"; // Seu login do banco de dados
$senha=""; // Sua senha do banco de dados
$db="nome_banco"; // Nome de sua base de dados
$conn = new PDO("mysql:host=$host;dbname=$db",$login,$senha);

if(isset($_POST['enviar'])){
    $arquivo = $_FILES['arquivo']['name'];
    $update = $conn->prepare("UPDATE cabecalho SET logo = :logo"); //Preparo a string de conexão
    $update->bindParam(':logo', $logo); // Faço o bind dos parametros

    if(!$update->execute()){ //Executo a query
        echo "<script language='javascript'>window.alert('Erro ao atualizar imagem!!!');</script>";
    } else {
        echo "<script language='javascript'>window.alert('Imagem cadastrada com sucesso!!!');</script>";

        //referenciar a classe upload
        include("../Upload.class.php");
        $imagem = "";
        if(isset($_FILES["arquivo"])) {
            $dir_dest = "../upload";
            //linha que faz o upload
            $upload = new Upload($_FILES['arquivo'], $dir_dest);
            // verifica se foi realizado corretamente o upload
            if ($upload->processed) {
                $imagem=$upload->file_dst_name;
            }
        }
        echo "<img src='../upload/$imagem'/><br /><br />";
        echo "<img src='../upload/mini/$imagem'/>";
    }
    $update->closeCursor(); //Encerro a conexão.
}
?>
<form action="" method="post" enctype="multipart/form-data" name="cadastro">

Imagem do Logo<br /><br />
Logo : <input type="file" name="logo" /><br /><br />
<input type="submit" value="Cadastrar" name="enviar">
</form>
    
13.05.2015 / 21:35