Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:31 Der er 21 kommentarer og
1 løsning

insert into problemer.

Ref. http://www.eksperten.dk/spm/519535 læs først. ;)

<?php

include("inc/config.inc.php");

mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die(mysql_error());
mysql_select_db($mysql_db) or die(mysql_error());

$q = mysql_query("SELECT * FROM $mysql_db_table LIMIT 1");

$felt = array();
for($i = 0; $i < mysql_num_fields($q); $i++) {
  $felt[] = mysql_field_name($q ,$i);
}

$sql = "insert into $mysql_db_table SET ";
for($i = 0; $i < count($felt); $i++) {
  $sql .= "$felt[$i] = '" . $_POST{$felt[$i]} . "' ";
  if($i != (count($felt)-1)) {
        $sql .= "; ";
    }
}
$sql .= " WHERE id = '".$_POST['id']."'";
mysql_query($sql) or die(mysql_error());

include("inc/header.inc.php");

echo "Opdateringen blev udført på: " . mysql_affected_rows() . "rækker.";

include("inc/footer.inc.php");

?>

Dette virker ikke, nogle der ved hvad grunden er, eller hvor fejlen er?
Avatar billede erikjacobsen Ekspert
13. juli 2004 - 20:36 #1
en insert tager ikke en where - den indsætter ny. Siger den ikke noget med syntaksfejl.
Måske du mener en UPDATE ?
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:36 #2
nej det er insert into. *G* havde lige svedt where ud. har siddet med det et stykke tid nu, og er pænt stresset.
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:37 #3
hmm det er ikke where der gjorde det. :(
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:39 #4
$q = mysql_query("SELECT * FROM $mysql_db_table LIMIT 1");

$felt = array();
for($i = 0; $i < mysql_num_fields($q); $i++) {
  $felt[] = mysql_field_name($q ,$i);
}

$sql = "insert into $mysql_db_table SET ";
for($i = 0; $i < count($felt); $i++) {
  $sql .= "$felt[$i] = '" . $_POST{$felt[$i]} . "' ";
  if($i != (count($felt)-1)) {
        $sql .= ", ";
    }
}
mysql_query($sql) or die(mysql_error());
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:39 #5
virker stadig ikke. :(
Avatar billede erikjacobsen Ekspert
13. juli 2004 - 20:40 #6
Hvad siger fejlen? Hvordan ser sql-sætningen ud?
Når du nu gør det automatisk, så sæt `....` omkring feltnavnene:
$sql .= "`$felt[$i]` = '" . $_POST{$felt[$i]} . "' ";
og sæt komma mellem dem:
  $sql .= ", ";
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:41 #7
jamen den virker med en update.... og der er ikke en fejl, der sker bare intet. :(
Avatar billede erikjacobsen Ekspert
13. juli 2004 - 20:41 #8
og
  $_POST[$felt[$i]]
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:42 #9
øhhh jeg kan slet ikke frembringe en sql-sætning. :(
Avatar billede erikjacobsen Ekspert
13. juli 2004 - 20:43 #10
Jo du kan:

  print $sql;
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:44 #11
include("inc/header.inc.php");

echo $sql;
echo "Opdateringen blev udført på: " . mysql_affected_rows() . " række.";

nej jeg kan ikke... der skriver kun Opdaterin.. bla bla. række.
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:45 #12
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:45 #13
$q = mysql_query("SELECT * FROM $mysql_db_table LIMIT 1");

$felt = array();
for($i = 0; $i < mysql_num_fields($q); $i++) {
  $felt[] = mysql_field_name($q ,$i);
}

$sql = "insert into $mysql_db_table SET ";
for($i = 0; $i < count($felt); $i++) {
  $sql .= "`$felt[$i]` = '" . $_POST[$felt[$i]] . "' ";
  if($i != (count($felt)-1)) {
        $sql .= ", ";
    }
}
//mysql_query($sql) or die(mysql_error());

include("inc/header.inc.php");

echo $sql;
echo "Opdateringen blev udført på: " . mysql_affected_rows() . " række.";

include("inc/footer.inc.php");
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:45 #14
sådan ser det ud nu.
Avatar billede erikjacobsen Ekspert
13. juli 2004 - 20:46 #15
Så er det jo ikke korrekt at du skriver: "der sker bare intet".
Nu må du være mere præcis med at fortælle hvad kode du kører, og hvad der sker.
Avatar billede erikjacobsen Ekspert
13. juli 2004 - 20:47 #16
Ja, nu ser det fint ud:

SQL: insert into sv_jobs SET `id` = '' , `title` = 'w' , `description` = 'w' , `area` = 'w' , `create_date` = 'w' , `potencial` = 'w' , `education` = 'w' , `exp` = 'w' , `abilities` = 'w' , `language` = 'w' , `it_knowlegde` = 'w' , `firm_desc` = 'w' , `payment` = 'w' , `start_date` = 'w' , `application` = 'w' , `contact` = 'w' , `num_vik` = 'w' , `ref` = 'w'
Opdateringen blev udført på: 1 række.
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:48 #17
jeg går i seng.. havde glemt at skifte form action ud med den nye... :( min fejl. sorry guys... skriv et svar hver, så deler i pointne. :(
Avatar billede erikjacobsen Ekspert
13. juli 2004 - 20:49 #18
Der er vist kun mig ;) Og jeg samler ikke på point. Del dem med dig selv ;)
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:50 #19
Erik, det må du sQ undskylde. men har mega stress på da kunden presser på. :(

og når det så driller, går jeg på eksperten, men når man har siddet i næsten 5 timer, så er man træt. :(
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 20:51 #20
svar til mig selv. :P
Avatar billede Slettet bruger
13. juli 2004 - 21:04 #21
smart titel til spørgsmålet ^^
Avatar billede blackscorpion Nybegynder
13. juli 2004 - 21:09 #22
*LOL* ;)
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