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

Jak načíst nahrané soubory pomocí php

Několik návrhů, co byste mohli změnit, aby to fungovalo.

1. Nahrát formulář

Jak vypadá vaše značka formuláře? Nezapomeňte uvést enctype parametr podle níže:

<form type="post" action="" enctype="multipart/form-data">
    ...
</form>

2. Sanitace

$company  = mysql_real_escape_string($_POST['company']); 
$location = mysql_real_escape_string($_POST['location']);
$pic      = mysql_real_escape_string($_FILES['userfile']['name']);

Výše uvedené řádky jsou prvním krokem, který pomůže zabránit útokům SQL injection na vaše dotazy.

3. SQL dotaz

$userfile neexistuje, protože jste ve skutečnosti přiřadili název souboru $pic místo toho by váš dotaz měl vypadat takto:

$query = "INSERT INTO user_DB 
          VALUES ('','$company', '$location', '$pic')";

4. Výstup HTML

Nyní k odkazu na soubor ve vaší výstupní tabulce:

echo "<td>";
echo "<a href=" . $target_path . basename($row['userfile']) . ">
         {$row['userfile']}</a>";
echo "</td>";


  1. Jak povolit automatické opětovné připojení klienta MySQL k MySQLdb?

  2. Jak mohu spustit dotaz v MYSQL, aniž bych jej zapsal do binárního protokolu

  3. DROP TABLE, POKUD EXISTUJE v MySQL

  4. (potřebuji poradit) Promluvte si s databází serveru MySQL z mé aplikace pro Android