sql >> Database >  >> RDS >> Mysql

IP-adres van gedownloade bestanden invoegen in mysql

Imho heb je geen UPDATE-query nodig. Je doet gewoon een INSERT elke keer dat een gebruiker een bestand aanvraagt:

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

}
?>

Enkele hints over de bovenstaande code:

  • Gebruik voorbereide instructies - injecteer nooit een waarde rechtstreeks in een SQL-string.
  • Het kan nutteloos zijn om elke keer file_name en items_download in de detailtabel in te voegen. Je hebt deze informatie sowieso in je tabel "Bron". Dus meestal zou je Source.id gewoon in je detailtabel plaatsen.


  1. Waarom toont COUNT() slechts één rij met tabellen?

  2. Hoe te repareren "profielnaam is niet geldig" bij het bijwerken van een database-e-mailprofiel in SQL Server (T-SQL)

  3. Hoe FRD-tracering te genereren in Oracle Apps 11i/R12

  4. Hoe een database te maken in een database-docker-container?