Avatar billede cjuul Nybegynder
05. september 2005 - 20:01 Der er 17 kommentarer

ID kommer ikke

Når jeg opretter en news på min side, er ID'et ved dem alle sammen 0, hvorfor
Jeg bruger de har 2 koder til det:

<form name=submit action=opret-nyhed.php method=post>
    <table border=0 width=98% cellpadding=0 cellspacing=0>
      <tr>
      <td colspan=2><br><br></td>
      </tr>
      <tr>
      <td align=center>Navn:</td>
      <td align=center><input type=text name=overskrift size=30 maxlength=10></td>
      </tr>
      <tr>
      <td align=center>Overskrift:</td>
      <td align=center><input type=text name=overskrift size=80 maxlength=20></td>
      </tr>
      <tr>
      <td align=center>Nyhed:</td>
      <td align=center><textarea name=besked rows=6 cols=80></textarea></td>
      </tr>
      <tr>
      <td align=center colspan=2><br><input type=submit name=opret value='Opret nyhed'></td>
      </tr>
    </table>
</form>
</form>


og en ny side:

<?
$dato = date("d-m-y");
$tid = date("H:i");
$ip = $_SERVER['REMOTE_ADDR'];
mysql_connect ("localhost", "hemmeligt", "hemmeligt");
mysql_select_db ("hemmeligt");
mysql_query("INSERT INTO news VALUES('','$_POST[navn]','$_POST[overskrift]','$_POST[besked]','$dato','$tid','$ip')");
header("Location: ../news.php");
?>
Avatar billede showsource Seniormester
05. september 2005 - 20:03 #1
fordi du bruger '' i din insert, og feltet er vel autoincrement primary?
Prøv at fjerne de to første '' efter "VALUES"
Avatar billede cjuul Nybegynder
05. september 2005 - 20:10 #2
det virker ikke :/
så opretter den dem slet ikke .
Avatar billede nielle Nybegynder
05. september 2005 - 20:12 #3
Hvordan er dit ID-felt defineret i databasen? Det skal være af typen autoincrement.
Avatar billede cjuul Nybegynder
05. september 2005 - 20:14 #4
ID  bigint(20)
ved ik om det er det du mener ?
Avatar billede showsource Seniormester
05. september 2005 - 20:15 #5
meget kan løses ved at bruge
or die (mysql_error());
efter din query

mysql_query("INSERT INTO news VALUES('','$_POST[navn]','$_POST[overskrift]','$_POST[besked]','$dato','$tid','$ip')")or die (mysql_error());

Du har to name=overskrift i din formular.
Og du skal selvf. lige ha' feltnavne i mysql med?
Avatar billede showsource Seniormester
05. september 2005 - 20:18 #6
Altså de navne på kolonnen hvor de forskellige $_POST skal gemmes.
INSERT INTO `tabel` (`navn`, `email`) VALUES ('". $_POST["navn"] ."', '". $_POST["email"] ."')

og så lige lidt sikkerhed er jo så nok ikke af vejen heller.
http://www.eksperten.dk/artikler/190
Avatar billede nielle Nybegynder
05. september 2005 - 20:22 #7
cjuul> Dit ID-felt skal også sættes til at være autoincrement.
Avatar billede cjuul Nybegynder
05. september 2005 - 20:23 #8
jamen det underlige er at jeg har en side med præsis de samme sider bare fra en anden database, og det andet virker :s
Avatar billede cjuul Nybegynder
05. september 2005 - 20:24 #9
nielle> mmh, inde i mysql?
Kan nemlig ik finde det :D
Avatar billede nielle Nybegynder
05. september 2005 - 20:27 #10
Ja, inde i MySQL. Bruger du phpmyadmin for at arbejde med din database?
Avatar billede cjuul Nybegynder
05. september 2005 - 20:28 #11
ja gør jeg
Avatar billede nielle Nybegynder
05. september 2005 - 20:31 #12
I den linje, hvor du definere dit ID til at være bigint(20), er der nogle flere dropdownmenuer. En af dem hedder Extra og under denne skulle du kunne finde "autoincrement".
Avatar billede cjuul Nybegynder
05. september 2005 - 20:43 #13
det kan den ikke ;s
der står bare fejl ..
Avatar billede nielle Nybegynder
05. september 2005 - 20:50 #14
Der burde nu ikke stå "fejl" i feltet.

Men det kan måske være at bigint(20) er alt for stort et talfelt til at have autoincrement - prøv med en noget mindre taltype.
Avatar billede cjuul Nybegynder
05. september 2005 - 21:14 #15
MySQL returnerede: 

#1075 - Incorrect table definition; There can only be one auto column and it must be defined as a key
Avatar billede nielle Nybegynder
05. september 2005 - 21:25 #16
Dit ID-felt bør se ud som den øverste linje i dette billede:

http://www.linuxsoft.cz/screenshot_img/197-a.jpg

Det lader til at du enten allerede har et felt som er autoincrement, eller at du ikke har markeret ID-feltet som Primary Key. Det sidste opnår du ved at klikke på linket Primary i enden af ID-rækken.
Avatar billede nielle Nybegynder
13. september 2005 - 21:00 #17
Har du fået kigget på det?
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