Ik heb dus een file met een hele boel bulk links.
Ze staan er zo in:
URL | Linknaam
Is het mogelijk om dat via een php scriptje in mn database te schieten?
Zoja hoe precies ben nog maar een noobie op het gebied van php lol
@Leroy: Bijna. Ik zou de query anders doen. Op jouw manier moet je telkens een nieuwe kolom aanmaken en dat niet zinvol.
<?php
$file = file("bestand.txt");
foreach($file as $f)
{
$info = explode(" | ", $f);
mysql_query("INSERT INTO table_name SET url='" . $info[0] . "', linknaam='" . $info[1] . "'") or die(mysql_error());
}
?>
Erg bedankt iedereen voor het helpen..
Alleen nu heb ik het dus zelf een beetje aangepast en krijg dus dit;
<?php
include "config.php";
$file = file("galleries.txt");
foreach($file as $f)
{
$info = explode(" | ", $f);
mysql_query("INSERT INTO adultlinks SET url='" . $info[0] . "', sitenaam='" . $info[1] . "', type='" . $info[2] . "', tekst='" . $info[3] . "' , genre='" . $info[4] . "'") or die(mysql_error());
}
?>
Maar al run ik vervolgens het script zet hij alleen maar de url goed in de database...en krijg de volgende error;
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'r onder dwang!|extreem ', sitenaam='', type='', tekst='' , genre=''' at line 1
Verder beveilig je de input nergens met mysql_real_escape_string(), dat is ook vragen om problemen.
De tabelnaam 'adultlinks' doet mij vermoeden dat het datamodel ook niet goed is, een link naar een adult-site is net zo goed een link als een link naar Mickey Mouse... Het verschil zal de categorie zijn, maar dat zet je in een aparte tabel.
Die database heet gewoon adultlinks, alleen hoe moet ik het anders doen?
In de .txt file is het allemaal gesplit door |
In iedergeval alvast hartelijk dank!!
Ja, duidelijk. Zie de error in de vorige post van de TS.
Edit: @pgFrank: Je hebt helemaal gelijk wat betreft de query. Ik heb de code van de vorige post gecopiƫerd en het is mij niet opgevallen dat het meer weg heeft van een update-query. Oeps. ;)
De query lijkt nergens op, de syntax is zo fout als het maar zijn kan.
Niet helemaal waar, MySQL accepteert deze syntax ook. Neemt natuurlijk niet weg dat het stukken netter en verstandiger is om standaard SQL te gebruiken op de manier die je al aangeeft.
@Carlo: de oplossing voor je probleem wordt eigenlijk ook al door Frank aangedragen. Je query wordt nu verpest doordat er waarschijnlijk quotes in de waarden staan die je in de database wilt invoegen. Gebruik de functie mysql_real_escape_string() om te voorkomen dat dit problemen oplevert:
<?php
include "config.php";
$file = file("galleries.txt");
foreach($file as $f)
{
$info = explode(" | ", $f);
$sql = "
INSERT INTO adultlinks (
url,
sitenaam,
type,
tekst,
genre )
VALUES (
'".mysql_real_escape_string($info[0])."',
'".mysql_real_escape_string($info[1])."',
'".mysql_real_escape_string($info[2])."',
'".mysql_real_escape_string($info[3])."',
'".mysql_real_escape_string($info[4])."'
)";