Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Insira o endereço IP dos arquivos baixados no mysql


Imho você não precisa de nenhuma consulta UPDATE. Você apenas faz um INSERT toda vez que um usuário solicita um arquivo:
<?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'],
    ));   

}
?>

Algumas dicas sobre o código acima:
  • Use instruções preparadas - nunca injete nenhum valor diretamente em uma string SQL.
  • Pode ser inútil inserir file_name e items_download na tabela de detalhes sempre. Você tem essa informação em sua tabela "Fonte" de qualquer maneira. Então normalmente você colocaria Source.id em sua tabela de detalhes.