[PHP/MYSQL] plaatsen van een bestandslocatie in mysql databa

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
In mijn database wil ik graag de bestandslocatie geplaatst hebben, mijn script:

$mapnaam="hoofdrubrieken\\".$naam_van_hoofdrubriek."\\".$_POST['protocol_naam']."";
$locatie_wordbestand=$mapnaam.'\\'.$_FILES['protocol_wordfile']['name'];

nu wil ik graag $locatie_wordbestand in mijn database geplaatst hebben.
de bestandslocatie word wel geprint als: hoofdrubrieken\hoofdrubriek1\protcol1\nieuwprotocol1.doc
echter in mijn database word hij zo weergeven: hoofdrubriekenhoofdrubriek1protocol1nieuwprotocol1.doc
(de slashes moeter er dus ook bij staan)

misschien ligt het wel aan het veldtype in mijn database, maar ik zou niet weten welk type ik dan moet gebruiken.

alvast bedankt voor de hulp ;)

[ Voor 7% gewijzigd door Verwijderd op 29-04-2005 10:19 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Gebruik in je insert query: mysql_escape_string(variabele) of addslashes(variabele)

Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 21-09 12:54
In de P&W FAQ staat een stuk geschreven over het escapen van strings die je in je database kwijt wilt. Escape problemen met PHP i.c.m. databases. Eenzelfde onderwerp als jouw probleem, misschien niet helemaal dezelfde insteek. Maar kort gezegt komt het er op neer dat je bepaalde tekens moet escapen, zoals een \ of een '.

Voor MySQL is daar de functie mysql_escape_string() oa. voor, zoals je ook in de code sampels van de P&W Faq terug ziet. Er zijn meer manier op strings te escapen, maar deze functie is een van de beteren, iig gericht op je type database.
edit:
traaaaaaaaaaaaag

[ Voor 4% gewijzigd door Sybr_E-N op 29-04-2005 10:35 . Reden: eerst posten en dan weer verder surfen...niet andersom. ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
het volgende werkt niet, klopt deze query?

$query="INSERT INTO subrubrieken (locatie_wordbestand) VALUES ( '%s')", mysql_escape_string($locatie_wordbestand);

Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 21-09 12:54
Verwijderd schreef op vrijdag 29 april 2005 @ 10:56:
het volgende werkt niet, klopt deze query?

$query="INSERT INTO subrubrieken (locatie_wordbestand) VALUES ( '%s')", mysql_escape_string($locatie_wordbestand);
Hoezo werkt niet? Wat gaat er dan fout? Geeft MySQL een error? Wat heb je geprobeerd om de fout de localiseren? Het je gedebugged? Wat is %s, gebruik je daarvoor een functie als sprinf()? Hoe ziet je query eruit op het scherm?

Echo die $query eens naar het scherm, valt er iets op? Eventueel kun je die querie eerst handmatig invoeren in de database, via console of iets als phpMyAdmin. Want met die opmerking "het werkt niet" en een halve query, kan ik ook niet heel veel.

Acties:
  • 0 Henk 'm!

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 18-08 21:31
Volgens mij moet je nog ergens sprintf() neerzetten in die regel code.

Acties:
  • 0 Henk 'm!

  • Huppie
  • Registratie: Mei 2003
  • Laatst online: 02-09 09:59
Wat je wilt is inderdaad een sprintf.....
PHP:
1
$query=sprintf("INSERT INTO subrubrieken (locatie_wordbestand) VALUES ( '%s')", mysql_escape_string($locatie_wordbestand));

of je zou 'm zo kunnen doen :)
PHP:
1
$query="INSERT INTO subrubrieken (locatie_wordbestand) VALUES ( '". mysql_escape_string($locatie_wordbestand) ."' )";

[ Voor 22% gewijzigd door Huppie op 29-04-2005 11:22 ]

Proud member of TCF - D2OL is zooooo 2005


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Geweldig! zo werkt het Huppie :) (Y)

Acties:
  • 0 Henk 'm!

  • Stamgastje
  • Registratie: April 2003
  • Laatst online: 02-02-2020
Waarom niet gewoon:

$query='INSERT INTO subrubrieken (locatie_wordbestand) VALUES (' , mysql_escape_string($locatie_wordbestand), ')';

Of als je dat netter vindt:

$temp = mysql_escape_string($locatie_wordbestand);
$query="INSERT INTO subrubrieken (locatie_wordbestand) VALUES ($temp)";

[ Voor 52% gewijzigd door Stamgastje op 29-04-2005 11:30 ]


Acties:
  • 0 Henk 'm!

  • Brakkie
  • Registratie: Maart 2001
  • Niet online

Brakkie

blaat

Is het wel handig om het hele path naar een bestand op te slaan? Als je een keer wat wijzigt in je bestands structuur moet je ook alles gaan wijzigen in je database. Je kan misschien beter alleen de bestandsnaam opslaan en het path als variabele in je script zetten. Misschien een beetje off-topic maar het overwegen waard?

Systeem | Strava


Acties:
  • 0 Henk 'm!

  • Huppie
  • Registratie: Mei 2003
  • Laatst online: 02-09 09:59
Omdat die 2 queries niet correct zijn :) (Je hebt in je query geen quotes om je 'values' staan ;))

Proud member of TCF - D2OL is zooooo 2005

Pagina: 1