Gå til innhold

[Løst]Får ikke lagt inn data i en database.


Anbefalte innlegg

Hei jeg har en kode her:

<html>
<body>
<center>
<?php


$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'passord';

mysql_connect($dbhost, $dbuser, $dbpass) or die		('Error connecting to mysql');



mysql_select_db("telefon");
$query = "INSERT INTO PERSON(navn, etternavn, nummer) VALUES('$_GET[Navn]', '$_GET[Etternavn]', '$_GET[Nummer]'";
$result = mysql_query($query);
?>
<br/>
br/>
<p><a href = "index.php">Index</a><p>
</center>
</body>
</html>

Her skjer det absolutt ingenting når jeg kjører dette. Ingen feilmeldinger eller noen ting. Kun Linken i koden kommer opp (som den skal).

Er ikke noe galt med databasen, klarer fint å lese fra den via php.

 

Noen som har vært borti dette før og som kan hjelpe meg?

Lenke til kommentar
Videoannonse
Annonse
Sikker på at du ikke har gjort noe feil da du kalte opp variablene dine? At du f.eks. kalte databasen for Telefon og ikke telefon, eller noen av radene for Navn og ikke navn?

 

Alt stemmer, også når det gjelder små og store bokstaver. :(

Lenke til kommentar

Klart det ikke kommer noen feil, da du aldri ber om å få noen feilmeldinger. Det er i tillegg til det vidåpent for SQL injection.

foreach( $_GET as $key => $value )
{
$_GET[ $key ] = mysql_real_escape_string( $value );
}

$query = "INSERT INTO PERSON(navn, etternavn, nummer) VALUES('{$_GET['Navn']}', '{$_GET['Etternavn']}', '{$_GET['Nummer']}'";
$result = mysql_query($query);
if( mysql_error() )
{
die( mysql_error() );
}

 

Dessuten SKAL arraynøkler ha fnutter rundt seg, slik at de ikke kan mistolkes som konstanter.

define( "morro", "gøyalt" );

$array = array( 'morro' => "Dette kommer du aldri til å se",
			'gøyalt'	=> "Men dette derimot..." );

echo $array[morro];

 

Har på følelsen at jeg har skrevet dette et par ganger tidligere :hmm:

Lenke til kommentar
$query = "INSERT INTO PERSON(navn, etternavn, nummer) VALUES('$_GET[Navn]', '$_GET[Etternavn]', '$_GET[Nummer]'";

Her skjer det absolutt ingenting når jeg kjører dette. Ingen feilmeldinger eller noen ting. Kun Linken i koden kommer opp (som den skal).

Du kan telle antall parentes start og stopp.

 

Du burde også bruke noe slikt som mysql_real_escape_string.

Du kan også lese litt her SQL Injection Cheat Sheet.

Lenke til kommentar

Tusen takk for alle svar. Når det gjelder sikkerhet så er ikke dette så viktig. Er nybegynner og er mest bare interessert i å få det til å fungere og å lære pluss at ingen har tilgang på databasen utenfra uansett.

 

Ellers var dette en meget klassisk feil som jeg dreit meg litt ut på i et tidligere svar som jeg fant ut med mysql_error() (takk til deg Jonas og m4rtin). Tabellen heter person og ikke PERSON. =))

 

Tusen takk for hjelp.

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å
×
×
  • Opprett ny...