Gå til innhold

Oppdatere tabeller i database v.h.a. et php script


Anbefalte innlegg

Jeg sliter med en skoleoppgave.. Jeg skal, enkelt nok, oppdatere en database v.h.a. en html-form og et php script. Men jeg er litt blank...

Noen som kan, enten gi meg noen vink, råd eller hint, eller noen linker hvor jeg kan finne mer om dette??

 

Takker masse masse for imøtekommende svar.

 

På forhånd takk!

Lenke til kommentar
Videoannonse
Annonse

I tillegg til php koden som står under, har jeg en html form side hvor jeg skriver inn det som skal inn i tabellen.

 

Hvorfor kommer det ikke noe informasjon inn i tabellen? Noen som kan finne feilen bare ved å se på koden under?

 

På forhånd takk.

 

 

 

 

<?

$DBhost = "xxxxxx";

$DBuser = "xxxxxx";

$DBpass = "xxxxxx";

$DBName = "xxxxx";

$table = "xxxxxxx";

mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database");

 

@mysql_select_db("$DBName") or die("Unable to select

database $DBName");

 

$sqlquery = "INSERT INTO $table

VALUES('$pers_id','$name','$landnr','$alder','$haarfarge','$oyne','$interesse')";

 

$results = mysql_query($sqlquery);

 

mysql_close();

 

print "<HTML><TITLE> PHP and MySQL </TITLE><BODY

BGCOLOR=\"#FFFFFF\"><center><table border=\"0\"

width=\"500\"><tr><td>";

print "<p><font face=\"verdana\" size=\"+0\"> <center>You

Just Entered This Information Into the

Database<p><blockquote>";

print "Name : $name<p>E-Mail : $alder<p>Opinion :

$oyne</blockquote></td></tr></table>

</center></BODY></HTML>";

?>

Lenke til kommentar

Legg til denne linjen et sted etter spørringen:

 

echo "<br>MySQL ERROR:<br>".mysql_error()."<br>";

 

Glem ikke at du kan hoppe ut og inn av php:

print "<HTML><TITLE> PHP and MySQL </TITLE><BODY

BGCOLOR=\"#FFFFFF\"><center><table border=\"0\"

width=\"500\"><tr><td>";

print "<p><font face=\"verdana\" size=\"+0\"> <center>You

Just Entered This Information Into the

Database<p><blockquote>";

print "Name : $name<p>E-Mail : $alder<p>Opinion :

$oyne</blockquote></td></tr></table>

</center></BODY></HTML>";

?>

 

kan skrives som

 

?>

<HTML><TITLE> PHP and MySQL </TITLE><BODY

BGCOLOR=\"#FFFFFF\"><center><table border=\"0\"

width=\"500\"><tr><td>

<p><font face=\"verdana\" size=\"+0\"> <center>You

Just Entered This Information Into the

Database<p><blockquote>

Name : <?= $name ?><p>E-Mail : <=? $alder ?><p>Opinion :

<?= $oyne ?></blockquote></td></tr></table>

</center></BODY></HTML>

 

<?= $variabel ?>

er det samme som

<?php

echo $variabel;

?>

Lenke til kommentar

nei ass... Det kommer ikke noe info i tabellene...

Id, kommer automatisk da denne er auto_increment. Dvs den stiger med en hver gang.

Ellers så får jeg Undefined variable: på samtlige variablene jeg har.

(Har jeg ikke klart å knytte dem opp mot html form'en skikkelig)??

 

Må variablene være listet opp i .php fila i lik rekkefølge som de laget i databasen?

 

Forresten, slik er formen bygget opp:

<td width="120" >Navn:</td>

<td width="250" ><input name="navn" type="text" value="" size="30"></td>

Endret av apachenerd
Lenke til kommentar

Hvor kommer vairablene fra?

er det begynnelsen på scriptet?

 

I så fall må du endre $variabler til $_POST['variabler'] eller $_GET['variabler'] avhengig av hvilken metode du bruker i skjemaet.

 

Prøv: echo $sqlquery;

så får du se spørringen

 

og om feltet id er autoincrement så skal du ikke sette inn noen verdi der, eventuelt '' (to * ')

Du unngår å sette inn noe i et felt ved å definere hvilke felt du vil sette inn noe i, f.eks.:

INSERT INTO tabell (felt1, felt2,...)VALUES('".$_GET['fra_skjema1']."',...)

Lenke til kommentar

Vel.... litt nærmere resultatet...??

 

Jeg forandret:

 

Just Entered This Information Into the

Database<p><blockquote>";

print "Name : $name<p>E-Mail : $alder<p>Opinion :

$oyne</blockquote></td></tr></table>

</center></BODY></HTML>";

 

Til:

 

print "Name : $_POST'name'<p>Alder : $_POST'alder'<p>Øynefarge :

$_POST'oyne'<p>Landnr : $_POST'landnr'<p>Hårfarge : $_POST'haarfarge'<p>Interesse : $_POST'interesse'</blockquote></td></tr></table>

</center></BODY></HTML>";

 

 

Og fikk "bare" disse error'ene:

 

MySQL ERROR:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''pers_id',Array'name',Array'landnr',Array'alder',Array'haarfarg

 

 

You Just Entered This Information Into the Database

 

Name : Array'name'

Alder : Array'alder'

 

Øynefarge : Array'oyne'

 

Landnr : Array'landnr'

 

Hårfarge : Array'haarfarge'

 

Interesse : Array'interesse'

Lenke til kommentar

haha... en ting er helt sikkert. Jeg ville ikke annsatt meg selv som web utvikler med script og databaser.... :no:

 

Forandert:

 

VALUES($_POST['pers_id'],$_POST['name'],$_POST['landnr'],$_POST['alder'],$_POST['haarfarge'],$_POST['oyne'],$_POST['interesse'])";

 

og

 

print "Name : $_POST['name']<p>Alder : $_POST['alder']<p>Øynefarge :

$_POST['oyne']<p>Landnr : $_POST['landnr']<p>Hårfarge : $_POST['haarfarge']<p>Interesse : $_POST['interesse']</blockquote></td></tr></table>

 

 

Og får da denne feilen:

 

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\www\test\add.php on line 13

Lenke til kommentar
Gjest Slettet-rXRozPkg

Hvis print "Name : $_POST['name']<p>..............</table> er hele linje 13 så mangler du "; på slutten av linjen.

Lenke til kommentar
Gjest Slettet-rXRozPkg

Kan du ikke poste hele scriptet slik det er nå, gidder ikke gjette på hva som er feil uten å kunne se helheten i scriptet :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...