sql >> Databáze >  >> RDS >> Mysql

Vložte IP adresu stažených souborů do mysql

Imho nepotřebuješ žádný UPDATE dotaz. Prostě uděláte INSERT pokaždé, když si uživatel vyžádá soubor:

<?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ěkolik rad k výše uvedenému kódu:

  • Používejte připravené příkazy – nikdy nevkládejte žádnou hodnotu přímo do řetězce SQL.
  • Možná je zbytečné vkládat do tabulky podrobností pokaždé file_name a items_download. Tuto informaci každopádně máte ve své tabulce „Zdroj“. Obvykle byste tedy do tabulky podrobností vložili Source.id.


  1. T-SQL úterý #64:Jeden spouštěč nebo mnoho?

  2. Ukládání procent v Rails + MySQL

  3. použijte podmínku If else pro výběr sloupce v mysql?

  4. (Čeština) Jak používat Oracle Database 19c Pre-Built Developer VM