[MySQL] Na verloop van tijd waarden in eens weg (STRING)

Pagina: 1
Acties:

  • Coolhva
  • Registratie: Juni 2003
  • Laatst online: 02-08 09:32

Coolhva

Dr. Zero Trust

Topicstarter
Mysql versie: MySQL 3.23.44
PHPMyAdmin versie: 2.2.1

Ik heb een database met een tabel artikelen (MyISAM).
Daarin is een veld, genaamd afbeelding, waarin (in string formaat) de naam van de afbeelding, die bij het desbetreffende artikel hoort, opgeslagen.

Na 1 uur nadat ze uit een lokale database via een dump zijn ingevoerd in de database op het web, is het veld afbeelding bij alle artikelen in eens leeg.

De rest staat er nog maar alleen de afbeeldingen zijn in 1 keer weg...

Iemand ervaring... dis toch wel errug..... HELP!!!!

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
dit gebeurt niet bij normaal gebruik, me dunkt. waarschijnlijk een verkeerde query ofzo? UPDATE artikelen SET afbeelding='' ofzo? of heb je misschien gewoon de rij letterlijk verwijderd? zou je daarover iets meer info kunnen posten?

  • Coolhva
  • Registratie: Juni 2003
  • Laatst online: 02-08 09:32

Coolhva

Dr. Zero Trust

Topicstarter
Het gebeurd dus (net even uitgeplozen) als je de update query uitvoert.
Alleen de waarden zijn opeens NULL

PHP:
1
2
3
4
5
6
7
8
9
10
11
  $updateSQL = sprintf("UPDATE artikelen SET art_id=%s, groep=%s, merk=%s, type=%s, plaatje=%s,
omschrijving=%s, prijs=%s, aanbieding=%s WHERE id=%s",
                       GetSQLValueString($HTTP_POST_VARS['art_id'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['groep'], "int"),
                       GetSQLValueString($HTTP_POST_VARS['merk'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['type'], "text"),
                       GetSQLValueString($plaatje, "text"),
                       GetSQLValueString($HTTP_POST_VARS['omschrijving'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['prijs'], "double"),
                       GetSQLValueString($HTTP_POST_VARS['aanbieding'], "text"),                       
                       GetSQLValueString($HTTP_POST_VARS['id'], "int"));


Tot stand koming van plaatje:

PHP:
1
2
3
4
5
6
7
if ($HTTP_POST_VARS['art_id'] != $HTTP_POST_VARS['old_art_id'] && $HTTP_POST_VARS['plaatje'] != '') {
  $dir = "../images/artikelen";
  @rename("$dir/$_POST[plaatje]","$dir/$_POST[art_id].".getlast($_POST['plaatje']));
  $plaatje = "$_POST[art_id].".getlast($_POST['plaatje']);
  } else {
  $plaatje = $HTTP_POST_VARS['plaatje'];
  }


De html code van plaatje:

<input type="file" name="plaatje">

Hij doet het alleen als plaatje al ingevuld is. Kan het zijn omdat de input type file is, dat hij dat niet in de database kan verwerken? Hoe kan ik dan van file een string maken?

[ Voor 13% gewijzigd door Coolhva op 01-07-2003 13:29 ]


  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
oeh vage code. waarom concatenate je die strings niet gewoon? dus met "bla" . $HTTP_POST_VARS["art_id"] . "woej". en kan je misschien ff echo $updateSQL doen en dan ons vertellen wat er staat?

misschien zouden haakjes hier ook wel helpen:
if (($HTTP_POST_VARS['art_id'] != $HTTP_POST_VARS['old_art_id']) && ($HTTP_POST_VARS['plaatje'] != ''))

en nog iets: gebruik je niet een hele oude versie van php? misschien verstandig ivm veiligheid om te upgraden? php.net

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Hij doet het alleen als plaatje al ingevuld is. Kan het zijn omdat de input type file is, dat hij dat niet in de database kan verwerken? Hoe kan ik dan van file een string maken?
Je moet alleen zorgen dat je het volgende in je form-tag hebt staan:
HTML:
1
<form action="" method="post" enctype="multipart/form-data">

Daarnaast zal je natuurlijk de naam van het bestand moeten achterhalen alvorens de waarde hiervan in je db te kunnen plaatsen ;)

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • Coolhva
  • Registratie: Juni 2003
  • Laatst online: 02-08 09:32

Coolhva

Dr. Zero Trust

Topicstarter
Uitvoer Update Query (met nieuw plaatje):

PHP:
1
2
3
4
UPDATE artikelen SET art_id='150170', groep=13, merk='Sweex',
type='UTP Cable 3meter', plaatje='150170.jpg',
omschrijving='3 Meter UTP Cat.5 E Kabel', prijs='4.95',
aanbieding='0' WHERE id=85


Uitvoer Update Query (met al ingevoerd plaatje):

PHP:
1
2
3
4
UPDATE artikelen SET art_id='150170', groep=13, merk='Sweex',
type='UTP Cable 3meter', plaatje='150170.jpg',
omschrijving='3 Meter UTP Cat.5 E Kabel', prijs='4.95',
aanbieding='0' WHERE id=85


Niets vreemds aan toch?

Maar zodra hij al is ingevoerd dan zijn alle plaatjes uit de database...

[ Voor 39% gewijzigd door Coolhva op 01-07-2003 13:55 ]

Pagina: 1