sql >> Base de Datos >  >> RDS >> Mysql

Inserte la dirección IP de los archivos descargados en mysql

En mi humilde opinión, no necesita ninguna consulta de ACTUALIZACIÓN. Simplemente haga un INSERTAR cada vez que un usuario solicite un archivo:

<?php
$fileid = $_GET['fileid'];

$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');

$sql = "SELECT * FROM Source WHERE id=" . (int)$fileid;
foreach ($pdo->query($sql) as $row) {

    $statement = $pdo->prepare("INSERT INTO details (name, download, time, ip) VALUES (?, ?, NOW(), ?)");
    $statement->execute(array(
        $row['item_name'], 
        $row['items_download'],
        $_SERVER['REMOTE_ADDR'],
    ));   

}
?>

Algunos consejos sobre el código anterior:

  • Utilice declaraciones preparadas:nunca inyecte ningún valor directamente en una cadena SQL.
  • Puede ser inútil insertar file_name y items_download en la tabla de detalles cada vez. Tiene esta información en su tabla "Fuente" de todos modos. Por lo general, simplemente colocaría Source.id en su tabla de detalles.