Avatar billede danielzambelli Nybegynder
26. april 2010 - 00:03 Der er 7 kommentarer og
1 løsning

mysql_query(INSERT INTO .....

Hej Ekspert!
Jeg har siddet og kløet mig i hovdet den sidste time over at jeg ikke rigtig kan få mysq_query("") til at insert into min mysql db på en rigtig måde?

Her er koden:
mysql_query("INSERT INTO `xxxxxxxx` (
  `category`,
  `template`,
  `rank_level`,
  `lang1`,
  `lang2`,
) VALUES (
  '$this->input[0]',
  '$this->input[2]',
  '$this->input[1]',
  '$this->input[4]',
  '$this->input[5]'
)") or die(mysql_error());

Som det er nu indsætter den blot "Array[1]" i databasen for felt 1 ;O 

Jeg håber i kan hjælpe mig for det er sikkert bare en lille ting jeg har overset ?

Tak på forhånd, og god aften :)
Mvh Daniel Zambelli
Avatar billede showsource Seniormester
26. april 2010 - 00:29 #1
Prøv:

echo"<pre>";
print_r($this->input);
echo"</pre>";

Så kan du sikkert se hvor fejlen ligger.
Vi andre kan bare gætte.
Avatar billede danielzambelli Nybegynder
26. april 2010 - 10:19 #2
Jeg kan ikke se nogle fejl i det fremkommende array.
Jeg prøvede at lave en var:

$test = $this->input['0'];

og så indsætte $test i INSERT INTO:

mysql_query("INSERT INTO `xxxxxxxx` (
  `category`,
  `template`,
  `rank_level`,
  `lang1`,
  `lang2`,
) VALUES (
  '$test',
  '$this->input[2]',
  '$this->input[1]',
  '$this->input[4]',
  '$this->input[5]'
)") or die(mysql_error());


og det virker, men jeg vil jo meget gerne undgå at skulle lave alle $this->input[] om til en anden var...
Avatar billede showsource Seniormester
26. april 2010 - 12:17 #3
Jeg ville gerne se hvad output var af en print_r()

Langt skud:

mysql_query("INSERT INTO `xxxxxxxx` (
  `category`,
  `template`,
  `rank_level`,
  `lang1`,
  `lang2`,
) VALUES (
  '".$this->input[0]."',
  '".$this->input[2]."',
  '".$this->input[1]."',
  '".$this->input[4]."',
  '".$this->input[5]."'
)") or die(mysql_error());
Avatar billede danielzambelli Nybegynder
26. april 2010 - 13:34 #4
Her er print_r() af $this->input

Array
(
    [0] => 1111
    [1] => 2
    [2] => Array
        (
            [0] => main design
            [1] => test 123
        )

    [3] => Array
        (
            [0] =>
            [1] =>
        )

    [4] => aaaaa
    [5] => bbbbb
)

jeg har taget højde for sub arrays.

Jeg prøver lige den løsning som du skrev ovenfor :)
Avatar billede danielzambelli Nybegynder
26. april 2010 - 13:51 #5
Har fået det til at virke ved brugen af

'".$this->input[]."'

smid et svar så får du dine point :) og mange tak for hjælpen
Avatar billede showsource Seniormester
26. april 2010 - 15:19 #6
Ok
Bruger altid selv at hoppe ud og ind af php.
Altså "fortælle" php at dette er phpkode eller ikke.

Jeg ved det ikke, men vil tro at det er enten brugen af [ , ] eller > som fik det til at fejle for dig. ???
Avatar billede danielzambelli Nybegynder
26. april 2010 - 15:38 #7
Jeg tror det er brugen af "->" som mysql ikke er så glad for, for normalt plejer jeg godt at kunne bruge fx.
$_PSOT['etellerandet']

Men tak for hjælpen :D  - hav en fantastisk dag i solen :)
Avatar billede showsource Seniormester
26. april 2010 - 15:43 #8
well, har lige ringet og sagt jeg ikke kommer i dag, ( kører taxa om natten i kbh. ), men i morgen i stedet for, hvor jeg ellers plejer at holde fri.
Og ja, jeg er på vej ud i solen til en enkelt eller 3 øl! :O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis