Avatar billede crapmaster Nybegynder
28. oktober 2003 - 19:51 Der er 20 kommentarer og
1 løsning

Kan ikke opdater min php fil da der kommer en fejl på den

Hvad er der glat med denne .sql fil, Når jeg prøver at opdater kommer denne felj

fejlen på siden er
<<<<<<<<<<<<<<<<<<<<<<<
Der er en fejl i SQL syntaksen nær 'dette område,Palle,palle3,palle,pallerr,dodod)' på linje 1
<<<<<<<<<<<<<<<<<<<<<<<<<


CREATE TABLE dvdfilm (
  Id int(4) unsigned zerofill NOT NULL auto_increment,
  nr varchar(20) NOT NULL UNIQUE default '',
  titel varchar(20) NOT NULL UNIQUE default '',
  gener varchar(15) NOT NULL UNIQUE default '',
  aar varchar(5) NOT NULL UNIQUE default '',
  lyd varchar(50) NOT NULL UNIQUE default '',
  sprog varchar(50) NOT NULL UNIQUE default '',
  undertekster varchar(10) NOT NULL UNIQUE default '',
  udlaandt varchar(10) NOT NULL UNIQUE default '',
  omtale varchar(50) NOT NULL UNIQUE default '',
  skuespiller_1 varchar(50) NOT NULL UNIQUE default '',
  skuespiller_2 varchar(50) NOT NULL UNIQUE default '',
  skuespiller_3 varchar(50) NOT NULL UNIQUE default '',
  skuespiller_4 varchar(50) NOT NULL UNIQUE default '',
  skuespiller_5 varchar(50) NOT NULL UNIQUE default '',
  PRIMARY KEY  (id)
)


filen der skal putte det ind i den

>>>>>>>>opretdvd.php<<<<<<
<?php
include("../include/kontakt_Db.php");
if($_POST['titel']){
    $sql = "INSERT INTO dvdfilm(nr,titel,gener,aar,";
    $sql .= "lyd,sprog,undertekster,udlaandt,omtale,";
    $sql .= "skuespiller_1,skuespiller_2,skuespiller_3,skuespiller_4,skuespiller_5)";
    $sql .= "VALUES({$_POST['nr']},{$_POST['titel']},{$_POST['gener']},";
    $sql .= "{$_POST['aar']},{$_POST['lyd']},{$_POST['sprog']},";
    $sql .= "{$_POST['undertekster']},{$_POST['udlaandt']},";
    $sql .= "{$_POST['omtale']},{$_POST['skuespiller_1']},{$_POST['skuespiller_2']},";
    $sql .= "{$_POST['skuespiller_3']},{$_POST['skuespiller_4']},{$_POST['skuespiller_5']})";
    mysql_query($sql) or die(mysql_error());
    $det_nye_id = mysql_insert_id($conn);
    if($det_nye_id)
        $ud = "Der er nu oprettet en ny titel {$_POST['titel']}, med id: {$det_nye_id}.";
    mysql_close($conn);
}
?>
<html>
<head>
    <title>Opret DVD titel</title>
</head>
<body bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#800000" alink="#ff00ff" background="?">
<Center>
<form action="opretdvd.php" method="post">
<table width="400" height="5%" valign="top" cellpadding="2" cellspacing="0" border="0">
<tr>
    <td bgcolor="#E7E3DB">Nr</td>
    <td bgcolor="#E7E3DB"><input type="text" name="nr"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Titel</td>
    <td bgcolor="#E7E3DB"><input type="text" name="titel"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Genre</td>
    <td bgcolor="#E7E3DB"><input type="text" name="gener"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">&Aring;r</td>
    <td bgcolor="#E7E3DB"><input type="text" name="aar"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Lyd</td>
    <td bgcolor="#E7E3DB"><input type="text" name="lyd"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Sprog</td>
    <td bgcolor="#E7E3DB"><input type="text" name="sprog"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Undertekster</td>
    <td bgcolor="#E7E3DB"><input type="text" name="undertekster"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Udl&aring;nt</td>
    <td bgcolor="#E7E3DB"><input type="text" name="udlaandt"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Omtale</td>
    <td bgcolor="#E7E3DB"><textarea name="omtale" rows="6" cols="15"></textarea></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Skuespiller 1</td>
    <td bgcolor="#E7E3DB"><input type="text" name="skuespiller_1"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Skuespiller 2</td>
    <td bgcolor="#E7E3DB"><input type="text" name="skuespiller_2"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Skuespiller 3</td>
    <td bgcolor="#E7E3DB"><input type="text" name="skuespiller_3"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Skuespiller 4</td>
    <td bgcolor="#E7E3DB"><input type="text" name="skuespiller_4"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Skuespiller 5</td>
    <td bgcolor="#E7E3DB"><input type="text" name="skuespiller_5"></td>
</tr>
<tr height="30">
    <td bgcolor="#E7E3DB">&nbsp;</td>
    <td bgcolor="#E7E3DB" align="right"><input type="submit" value="Opret"></td>
</td>
</tr>
</table>
</form>
<?=$ud?>
</body>
</html>
Avatar billede erikjacobsen Ekspert
28. oktober 2003 - 19:53 #1
sæt stroffer om værdierne

  $sql .= "'{$_POST['undertekster']}','{$_POST['udlaandt']}',";
Avatar billede crapmaster Nybegynder
28. oktober 2003 - 20:09 #2
Så kommer denne fejl

Der er en fejl i SQL syntaksen nær 'sdfsadf,testerer,'2003','5.1','Dansk','Danske','Ja','testerer f' på linje 1


KODEN

<?php
include("../include/kontakt_Db.php");
if($_POST['titel']){
    $sql = "INSERT INTO dvdfilm(nr,titel,gener,aar,";
    $sql .= "lyd,sprog,undertekster,udlaandt,omtale,";
    $sql .= "skuespiller_1,skuespiller_2,skuespiller_3,skuespiller_4,skuespiller_5)";
      $sql .= "VALUES({$_POST['nr']},{$_POST['titel']},{$_POST['gener']},";
      $sql .= "'{$_POST['aar']}','{$_POST['lyd']}','{$_POST['sprog']}',";
    $sql .= "'{$_POST['undertekster']}','{$_POST['udlaandt']}',";
    $sql .= "'{$_POST['omtale']}','{$_POST['skuespiller_1']}','{$_POST['skuespiller_2']}',";
    $sql .= "'{$_POST['skuespiller_3']}','{$_POST['skuespiller_4']}','{$_POST['skuespiller_5']}')";
    mysql_query($sql) or die(mysql_error());
    $det_nye_id = mysql_insert_id($conn);
    if($det_nye_id)
        $ud = "Der er nu oprettet en ny titel {$_POST['titel']}, med id: {$det_nye_id}.";
    mysql_close($conn);
}
?>
Avatar billede erikjacobsen Ekspert
28. oktober 2003 - 20:16 #3
sæt stroffer om værdierne
Avatar billede crapmaster Nybegynder
28. oktober 2003 - 20:24 #4
Jeg har gjort som du viste, med ( ' )

ellers er de bare mig der er dum :D
Avatar billede qcaze Nybegynder
28. oktober 2003 - 20:40 #5
Det er nok fordi du indsætter tekst hvori der forekommer single-quote(').

indsæt mysql_escape_string() omkring $_POST['omtale'], og sæt denne udenfor strengen, således:


<?php
include("../include/kontakt_Db.php");
if($_POST['titel']){
    $sql = "INSERT INTO dvdfilm(nr,titel,gener,aar,";
    $sql .= "lyd,sprog,undertekster,udlaandt,omtale,";
    $sql .= "skuespiller_1,skuespiller_2,skuespiller_3,skuespiller_4,skuespiller_5)";
    $sql .= "VALUES({$_POST['nr']},{$_POST['titel']},{$_POST['gener']},";
    $sql .= "'{$_POST['aar']}','{$_POST['lyd']}','{$_POST['sprog']}',";
    $sql .= "'{$_POST['undertekster']}','{$_POST['udlaandt']}',";
    $sql .= "'".mysql_escape_string($_POST['omtale'])."','{$_POST['skuespiller_1']}','{$_POST['skuespiller_2']}',";
    $sql .= "'{$_POST['skuespiller_3']}','{$_POST['skuespiller_4']}','{$_POST['skuespiller_5']}')";
    mysql_query($sql) or die(mysql_error());
    $det_nye_id = mysql_insert_id($conn);
    if($det_nye_id)
        $ud = "Der er nu oprettet en ny titel {$_POST['titel']}, med id: {$det_nye_id}.";
    mysql_close($conn);
}
?>

(crapmaster: Beklager det ikke virkede i første omgang :)
Avatar billede crapmaster Nybegynder
28. oktober 2003 - 20:53 #6
Hej qcaze
Jeg får denne fejl nu,

Ukendt kolonne 'tester' i tabel field list


Min kode ser sådan ud:


<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

<?php
include("../include/kontakt_Db.php");
if($_POST['titel']){
    $sql = "INSERT INTO dvdfilm(nr,titel,gener,aar,";
    $sql .= "lyd,sprog,undertekster,udlaandt,omtale,";
    $sql .= "skuespiller_1,skuespiller_2,skuespiller_3,skuespiller_4,skuespiller_5)";
    $sql .= "VALUES({$_POST['nr']},{$_POST['titel']},{$_POST['gener']},";
    $sql .= "'{$_POST['aar']}','{$_POST['lyd']}','{$_POST['sprog']}',";
    $sql .= "'{$_POST['undertekster']}','{$_POST['udlaandt']}',";
    $sql .= "'".mysql_escape_string($_POST['omtale'])."','{$_POST['skuespiller_1']}','{$_POST['skuespiller_2']}',";
    $sql .= "'{$_POST['skuespiller_3']}','{$_POST['skuespiller_4']}','{$_POST['skuespiller_5']}')";
    mysql_query($sql) or die(mysql_error());
    $det_nye_id = mysql_insert_id($conn);
    if($det_nye_id)
        $ud = "Der er nu oprettet en ny titel {$_POST['titel']}, med id: {$det_nye_id}.";
    mysql_close($conn);
}
?>

<html>
<head>
    <title>Opret DVD titel</title>
</head>
<body bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#800000" alink="#ff00ff" background="?">
<Center>
<form action="opretdvd.php" method="post">
<table width="400" height="5%" valign="top" cellpadding="2" cellspacing="0" border="0">
<tr>
    <td bgcolor="#E7E3DB">Nr</td>
    <td bgcolor="#E7E3DB"><input type="text" name="nr"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Titel</td>
    <td bgcolor="#E7E3DB"><input type="text" name="titel"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Genre</td>
    <td bgcolor="#E7E3DB"><input type="text" name="gener"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">&Aring;r</td>
    <td bgcolor="#E7E3DB"><input type="text" name="aar"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Lyd</td>
    <td bgcolor="#E7E3DB"><input type="text" name="lyd"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Sprog</td>
    <td bgcolor="#E7E3DB"><input type="text" name="sprog"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Undertekster</td>
    <td bgcolor="#E7E3DB"><input type="text" name="undertekster"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Udl&aring;nt</td>
    <td bgcolor="#E7E3DB"><input type="text" name="udlaandt"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Omtale</td>
    <td bgcolor="#E7E3DB"><textarea name="omtale" rows="6" cols="15"></textarea></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Skuespiller 1</td>
    <td bgcolor="#E7E3DB"><input type="text" name="skuespiller_1"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Skuespiller 2</td>
    <td bgcolor="#E7E3DB"><input type="text" name="skuespiller_2"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Skuespiller 3</td>
    <td bgcolor="#E7E3DB"><input type="text" name="skuespiller_3"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Skuespiller 4</td>
    <td bgcolor="#E7E3DB"><input type="text" name="skuespiller_4"></td>
</tr>
<tr>
    <td bgcolor="#E7E3DB">Skuespiller 5</td>
    <td bgcolor="#E7E3DB"><input type="text" name="skuespiller_5"></td>
</tr>
<tr height="30">
    <td bgcolor="#E7E3DB">&nbsp;</td>
    <td bgcolor="#E7E3DB" align="right"><input type="submit" value="Opret"></td>
</td>
</tr>
</table>
</form>
<?=$ud?>
</body>
</html>
Avatar billede crapmaster Nybegynder
28. oktober 2003 - 21:58 #7
Sover du min ven ???

Såvidt jeg kan se eller komme frem til det det et sted omkring

if($_POST['titel']){


Jeg får denne fejl

Ukendt kolonne 'e' i tabel field list
Avatar billede qcaze Nybegynder
28. oktober 2003 - 22:31 #8
Hey, nope ik endnu :)

Gør som jeg gjorde, med alle $_POST[] - værdierne:

"'" . mysql_escape_string($_POST['variabelnavn']) . "'"

med komma imellem, formen på en MySQL-Insert ser sådan ud:
INSERT INTO tabelnavn(navn,alder) VALUES('Peter','25')

Bare sørg for at formen er korrekt, så burde det virke, brug evt. echo $sql, for at se om formen holder.
Avatar billede erikjacobsen Ekspert
28. oktober 2003 - 22:42 #9
Min bemærkning fra 20:16:55 betød bare at du havde glemt det mindst eet
sted. mysql_escape_string eller addslashes kan så være nødvendig også -måske - men
det er ikke i første dit problem.
Avatar billede crapmaster Nybegynder
28. oktober 2003 - 22:48 #10
som i nok ved nu, er jeg ikke den bedste til php, :D

Kender i det, den kode vi snkker om løber rundt inde i hjernen på mig, kan i ikke vise hjælpe mig med at lægge det ind.
vi kan godt finde ud af det med pointen, vis det er det....
Avatar billede erikjacobsen Ekspert
28. oktober 2003 - 22:53 #11
Point er ligemeget

Du skal bare sætte '....' omkring alle dine værdier i SQL-sætningen.

Så tester vi senere om der skal mere til.
Avatar billede crapmaster Nybegynder
28. oktober 2003 - 23:00 #12
Fuck det virker sku......FEDT...................
Avatar billede erikjacobsen Ekspert
28. oktober 2003 - 23:04 #13
Godt så. Prøv så at skrive en enkelt ' i dine input felter, og se om
det bliver gemt i databasen - eller der kommer en fejl.

Det skal være der hvor du ikke bruger mysql_escape_string
Avatar billede crapmaster Nybegynder
28. oktober 2003 - 23:07 #14
Jeg har sat et ( '  ) i alle felterne og den oprettet en  ny film ingen problemmer i det
Avatar billede crapmaster Nybegynder
28. oktober 2003 - 23:09 #15
Avatar billede erikjacobsen Ekspert
28. oktober 2003 - 23:51 #16
Så er der vist ingen grund til at gøre mere ;)
Avatar billede crapmaster Nybegynder
28. oktober 2003 - 23:54 #17
Ens værdier '2000' for indeks 5

Hvorfor må jeg ikke lave dubbler i den, Vis jeg har lavet en film fra aar 2000 må jeg ikke lave en ny film fra aar 2000
Avatar billede crapmaster Nybegynder
29. oktober 2003 - 01:27 #18
smid lige et svar  erikjacobsen
Avatar billede erikjacobsen Ekspert
29. oktober 2003 - 06:57 #19
Det er fordi du skriver UNIQUE i
  aar varchar(5) NOT NULL UNIQUE default '',
Avatar billede crapmaster Nybegynder
29. oktober 2003 - 07:44 #20
Ja det fik jeg at vide

smid lige et svar  erikjacobsen så jeg kan få lukket spm
Avatar billede erikjacobsen Ekspert
29. oktober 2003 - 08:46 #21
ok ;)
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