Använd "LOAD DATA INFILE" för att bara läsa in data i tabellen varje gång sidan besöks.
$sql = "
LOAD DATA INFILE 'people.txt'
INTO TABLE `People`
FIELDS TERMINATED BY '|'
";
En del av SQL att titta närmare på är REPLACE
eller IGNORE
alternativet, som avgör vad som kommer att hända om skriptet försöker infoga en rad som duplicerar en befintlig unik nyckel, om din tabell har någon.
Dessutom, om din indatafil har fält i en annan ordning än din databastabell, kan du tillhandahålla en lista med kolumner i slutet av SQL, som (data, name, city)
.
Förutom dessa saker tycker jag att du helt enkelt borde kunna ersätta $sql
variabel i din postade kod med något som ovanstående SQL, kör sedan (som i din ursprungliga kod):
if ($conn->query($sql) === TRUE) {
echo "OK!";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}