Gå til innhold

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


Anbefalte innlegg

Skrevet

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!

Videoannonse
Annonse
Skrevet

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>";

?>

Skrevet

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;

?>

Skrevet (endret)

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
Skrevet

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']."',...)

Skrevet

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'

Gjest Slettet-rXRozPkg
Skrevet (endret)

$_POST['variabel'], ikke $_POST'variabel'

Endret av Slettet-rXRozPkg
Skrevet

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

Gjest Slettet-rXRozPkg
Skrevet

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

Skrevet

Nei.. Sorry.

 

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

 

Den er på plass den..

Gjest Slettet-rXRozPkg
Skrevet

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

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...