Avatar billede asdl Praktikant
20. juni 2003 - 16:41 Der er 6 kommentarer og
1 løsning

max id fejl

jeg kan ikke få det til at virke hvorfor ??

<-- script start -->
<?
mysql_connect("localhost","root","");
mysql_select_db("logintest");
$get = mysql_query("SELECT max(id) as max_id FROM nuke_users");
$row = mysql_fetch_array($get);
$newid = $row[max_id]+1;
$brugernavn = "frbnet".$newid;
$sesID = md5(time()*time());
$password = substr("$sesID", 0,12);

mysql_connect("localhost","root","");
mysql_select_db("logintest");
$add_profil = mysql_query("INSERT INTO nuke_users (name, user_password, theme, user_lang)" . "VALUES ('$brugernavn', '$password', 'SubSilver', 'danish')");
echo "<br><br><br><br><br><br><br><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Loginnavn :</b> $brugernavn <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Password&nbsp;&nbsp;  :</b> $password";?>

<-- script slut -->
<-- db start -->
user_id int(11) NOT NULL auto_increment,
  name varchar(60) NOT NULL default '',
  username varchar(25) NOT NULL default '',
  user_email varchar(255) NOT NULL default '',
  femail varchar(255) NOT NULL default '',
  user_website varchar(255) NOT NULL default '',
  user_avatar varchar(255) NOT NULL default '',
  user_regdate varchar(20) NOT NULL default '',
  user_icq varchar(15) default NULL,
  user_occ varchar(100) default NULL,
  user_from varchar(100) default NULL,
  user_interests varchar(150) NOT NULL default '',
  user_sig varchar(255) default NULL,
  user_viewemail tinyint(2) default NULL,
  user_theme int(3) default NULL,
  user_aim varchar(18) default NULL,
  user_yim varchar(25) default NULL,
  user_msnm varchar(25) default NULL,
  user_password varchar(40) NOT NULL default '',
  storynum tinyint(4) NOT NULL default '10',
  umode varchar(10) NOT NULL default '',
  uorder tinyint(1) NOT NULL default '0',
  thold tinyint(1) NOT NULL default '0',
  noscore tinyint(1) NOT NULL default '0',
  bio tinytext NOT NULL,
  ublockon tinyint(1) NOT NULL default '0',
  ublock tinytext NOT NULL,
  theme varchar(255) NOT NULL default '',
  commentmax int(11) NOT NULL default '4096',
  counter int(11) NOT NULL default '0',
  newsletter int(1) NOT NULL default '0',
  user_posts int(10) NOT NULL default '0',
  user_attachsig int(2) NOT NULL default '0',
  user_rank int(10) NOT NULL default '0',
  user_level int(10) NOT NULL default '1',
  broadcast tinyint(1) NOT NULL default '1',
  popmeson tinyint(1) NOT NULL default '0',
  user_active tinyint(1) default '1',
  user_session_time int(11) NOT NULL default '0',
  user_session_page smallint(5) NOT NULL default '0',
  user_lastvisit int(11) NOT NULL default '0',
  user_timezone tinyint(4) NOT NULL default '10',
  user_style tinyint(4) default NULL,
  user_lang varchar(255) NOT NULL default 'english',
  user_dateformat varchar(14) NOT NULL default 'D M d, Y g:i a',
  user_new_privmsg smallint(5) unsigned NOT NULL default '0',
  user_unread_privmsg smallint(5) unsigned NOT NULL default '0',
  user_last_privmsg int(11) NOT NULL default '0',
  user_emailtime int(11) default NULL,
  user_allowhtml tinyint(1) default '1',
  user_allowbbcode tinyint(1) default '1',
  user_allowsmile tinyint(1) default '1',
  user_allowavatar tinyint(1) NOT NULL default '1',
  user_allow_pm tinyint(1) NOT NULL default '1',
  user_allow_viewonline tinyint(1) NOT NULL default '1',
  user_notify tinyint(1) NOT NULL default '0',
  user_notify_pm tinyint(1) NOT NULL default '0',
  user_popup_pm tinyint(1) NOT NULL default '0',
  user_avatar_type tinyint(4) NOT NULL default '3',
  user_sig_bbcode_uid varchar(10) default NULL,
  user_actkey varchar(32) default NULL,
  user_newpasswd varchar(32) default NULL,
  mailkonti int(1) default '0',
  PRIMARY KEY  (user_id),
  KEY uname (username),
  KEY user_session_time (user_session_time),
  KEY uid (user_id)
) TYPE=MyISAM;
<-- db slut -->
Avatar billede jakoba Nybegynder
20. juni 2003 - 17:04 #1
en masse af dine database kolonner er sat til NOT NULL det betyder at du ikke kan oprette en record hvis ikke du giver en værdi til de felter ved samme lejlighed.

Du kan evt fjerne NOT NULL, eller du kan også angive en default der skal bruges hvis du ikke siger noget andet (og det har du vist allerede gjort allevegne:-).

din default skal være korrekt type. du kan ikke give en streng
  counter int(11) NOT NULL default '0',
som default til et numerisk felt. gør defaultværdien numerisk også
  counter int(11) NOT NULL default 0,

mvh JakobA

listen af atributter til et felt er IKKE kommasepareret. linien
  broadcast tinyint(1) NOT NULL default '1',

dvs:
  broadcast tinyint(1) default '1',
Avatar billede jakoba Nybegynder
20. juni 2003 - 17:08 #2
jeg fatter ikke din linie:
  KEY user_session_time (user_session_time),

Den har ingen effekt, og kan måske være et problem hvis den prøver at erklære navnet 'user_session_time' som alternativ til sig selv.
Avatar billede jakoba Nybegynder
20. juni 2003 - 17:09 #3
Ups.  linierne under  mvh JakobA  i første post er edit-skrald der burde være slettet.
Avatar billede asdl Praktikant
20. juni 2003 - 17:35 #4
ok det jeg er ude efter er user_id.

jeg skal auto generer brugernavne = name$lastid+1
Avatar billede jakoba Nybegynder
20. juni 2003 - 17:42 #5
det du får med
  $get = mysql_query("SELECT max(id) as max_id FROM nuke_users");
er den højeste id værdi der er i hele databasen.
det giver fejl for der er jo slet ikke noget felt der hedder 'id'
Du kan evt skrive
  $get = mysql_query("SELECT max(user_id) as max_id FROM nuke_users");
og det vil vist give dig det tal du ønsker.

Der komme dog et problem hvis brugere melder sig ud af gruppen så bliver dit tal for stort.

Så jeg ville snarere bruge
  $get = mysql_query("SELECT count(*) as antal_brugere FROM nuke_users");
det vil altid give dig det korrekte antal brugere.

mvh JakobA
Avatar billede asdl Praktikant
20. juni 2003 - 17:48 #6
ok men hvordan får jeg så count +1 ??
Avatar billede jakoba Nybegynder
20. juni 2003 - 18:00 #7
sådan som du allerede gøre det. blot med de korrekte navne:

  $get = mysql_query("SELECT count(*) as antal_brugere FROM nuke_users");
  $row = mysql_fetch_array($get);
  $antal = $row['antal_brugere']+1;
  $brugernavn = "frbnet".$antal;

mvh JakobA
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