webForumDet fria alternativet

mySQL nybörjartrubbel (långt)

1 svar · 249 visningar · startad av KlasO

KlasOMedlem sedan apr. 200257 inlägg
#1

Hej!

Det är första gången jag håller på ordentligt med mySQL, jag får ingen data alls att hoppa in i databasen. ;-(

Först har jag satt rättigheter på databasen med(tillåt allt och alla), måste man göra det? vad är default för en mySQL databasfil?:

GRANT SELECT, INSERT, DELETE, UPDATE, CREATE ON databasnamn TO '%'@'%'

Det verkade gå bra.

Sedan har jag har två sidor, en där man fyller i uppgifter, och en annan där uppgifterna läggs till.

Det blir inget felmeddelande, jag får enbart texten "Data införd i databasen". Jag använder mySQL-Front, och har även loggat ur o in igen, men det är verkligen ingenting som läggs till.

Ursäkta det långa inlägget.

Andra sidan(labb10-laggtillkonferens-2.php):


<?php 

mysql_connect("aaa.bb.xx.se:1234", "root", "root") or die("Kan inte kontakta servern!"); 

$dbinfo = mysql_db_query("databasnamnet", "INSERT konferenser (titel,forelasare,ansvarig,email,fortaring,pris,datum,manad,ar,starttid,sluttid,'lokalnamn') VALUES ('$titel','$forelasare','$ansvarig','$email','$fortaring','$pris','$datum1','$manad1','$ar1','$starttid','$sluttid',''$lokal)"); 

echo "Data införd i databasen";

mysql_close(); 
?>

Och den första sidan(labb10-laggtillkonferens.php):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>Labb 10</TITLE>
</HEAD>
<BODY bgcolor="white">

<h4>

<h2>
<CENTER>
Elefanten - Administration -Lägg till konferens
</CENTER></h2>

<FORM METHOD="post" ACTION="labb10-laggtillkonferens-2.php">

<TABLE>
<TR>
<TD valign=top>
Titel<BR>
<INPUT TYPE="text" NAME="titel"><BR>
</TD>

<td valign=top>
Önskat antal deltagare<BR>
<INPUT TYPE="text" NAME="antal">
</td>

<td width=200>
</td>

<td valign=top>
Konferensansvarig<BR>
<INPUT TYPE="text" NAME="ansvarig"><BR>
E-mail<BR>
<INPUT TYPE="text" NAME="email"><BR>
</TD>
</TR>
</TABLE>

Dag 1

Datum:

<SELECT NAME="datum1" SIZE="1">
<OPTION VALUE="1">1</OPTION>
<OPTION VALUE="2">2</OPTION>
</SELECT>

Månad:
<SELECT NAME="manad1" SIZE="1">
<OPTION VALUE="1">Januari</OPTION>
<OPTION VALUE="2">Februari</OPTION>
<OPTION VALUE="3">Mars</OPTION>
</SELECT>

År
<SELECT NAME="ar1" SIZE="1">
<OPTION VALUE="1">2002</OPTION>
<OPTION VALUE="2">2003</OPTION>
</SELECT>

Starttid
<INPUT TYPE="text" size="3" NAME="startid">
Sluttid
<INPUT TYPE="text" size="3" NAME="sluttid">

Lokal
<SELECT NAME="lokal" SIZE="1">
<OPTION VALUE="1">Flugan</OPTION>
<OPTION VALUE="2">Katten</OPTION>
<OPTION VALUE="3">Ugglan</OPTION>
<OPTION VALUE="4">Vargen</OPTION>
<OPTION VALUE="5">Älgen</OPTION>
</select>

<TABLE>
<TR>
<td valign=top>
Föreläsare(tryck enter efter varje)<br>
<TEXTAREA NAME="forelasare" ROWS="4" COLS=""></TEXTAREA>
<td>

<TD valign=top>
Förtäring<BR>
<TEXTAREA NAME="fortaring" ROWS="4" COLS=""></TEXTAREA><BR>
</TD>

<TD valign=top>
Pris per person (kr)<BR>
<INPUT TYPE="text" size="4" NAME="pris"><BR>
</TD>

<TD valign=top>
Övrigt<BR>
<TEXTAREA NAME="ovrigt" ROWS="4" COLS=""></TEXTAREA><BR>
</TD>
</TR>
</TABLE>

<center><INPUT TYPE="submit" value="Lägg in"></center>

</FORM>

</body>
</html>

GunnarDMedlem sedan juni 20014 290 inlägg
#2

2 saker att testa

  1. Använd mysql_error() funktionen för att se om mysql kommandona genererar något fel, det är bra att ha någon typ av felhantering med :-)
    Ex:
$sql    = 'SELECT * FROM tablename';
$result = mysql_query($sql) or die(mysql_error());
  1. Prova att skriva ut dina variabler för att kontrollera att du verkligen får med dom.

När det gäller GRANT statement så ser det ut så här:

Ger ALLA rättigheter till databasen db till användaren foo med lösenordet bar från maskinen localhost

GRANT ALL PRIVILEGES ON db.* TO foo@localhost IDENTIFIED BY "bar";

137 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)