sql >> Databasteknik >  >> RDS >> Mysql

Infoga IP-adressen för nedladdade filer i mysql

Jag behöver ingen UPPDATERINGSfråga. Du gör bara en INSERT varje gång en användare begär en fil:

<?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'],
    ));   

}
?>

Några tips om koden ovan:

  • Använd förberedda satser - injicera aldrig något värde direkt i en SQL-sträng.
  • Det kan vara värdelöst att infoga file_name och items_download i detaljtabellen varje gång. Du har denna information i din tabell "Källa" ändå. Så vanligtvis lägger du bara in Source.id i din informationstabell.


  1. MySQL lagrad procedurfel Oväntat tecken:

  2. Hur ansluter jag till en Oracle-databas i R?

  3. Hur lagrar man användarens tidszon i mysql?

  4. PostgreSQL var allt i array