PDA

Volledige versie bekijken : MySQL create table


xFTx
%Europe/Berlin %911 %2009, 21:53
Hey,
Ik gebruik phpmyadmin voor het maken van een table. Ik volg een tutorial van kirupa.http://www.kirupa.com/developer/actionscript/authentication.htm
Ik probeer dus de tabel in te laden, maar ik krijg steeds de melding dat userid een "invalid default value" heeft.
CREATE TABLE auth (
userid
int(4)
unsigned
zerofill
DEFAULT '0000'
NOT NULL
auto_increment,
username varchar(20),
userpassword varchar(20),
PRIMARY KEY (userid)
);
Al veel geprobeerd in dit stukje tekst.
xFTx

VeeWee
%Europe/Berlin %146 %2009, 03:30
probeer eens:

DEFAULT 0

je kan ook gewoon in formulier-view de tabel aanmaken in phpmyadmin. Gewoon alle informatie uit die query aanvinken in de formulieren

xFTx
%Europe/Berlin %640 %2009, 15:22
Default 0 werkt helaas niet.

Ik heb het manueel geprobeerd. Paar vragen:
Eerst moet ik de naam ingeven en hoeveelheid velden.
Naam: auth, velden: 1?(zie geen getal voor hoeveelheid velden).

Daarna:
Veld userid
Type INT
Lengte/Waardes 4
Standaardwaarde zou niet weten wat dit is
Collatie dit ook niet
Attributen UNSIGNED ZEROFILL
Null niet aangevikt.
Index PRIMARY
AUTO_INCREMENT aangevinkt.
Commentaar //

Hoeveel velden weet ik dus niet, standaardwaarde en collatie ook niet. username en userpassword VARCHAR weet ik niet waar ze moeten. Daarom wou ik dat de query van de eerste post ging.:p

VeeWee
%Europe/Berlin %650 %2009, 15:36
bij mij werkt dit gewoon:


CREATE TABLE auth (
userid INT( 4 ) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT PRIMARY KEY ,
username VARCHAR( 20 ) NOT NULL ,
userpassword VARCHAR( 20 ) NOT NULL
)


naam: auth
aantal velden: 3 (userid, usernaam, userpassword)

standaardwaarde van id: 0
collocatie hoef je niet in te vullen
de rest klopt

dan die twee andere velden zijn username en userpassword, type: varchar, lengte: 20, not null

dan zou het wel moeten lukken

xFTx
%Europe/Berlin %685 %2009, 16:26
Thnx VeeWee dat werkt!
Edit:
Het laatste van de tutorial snap ik niet. Nu moet ik er dus namen en wachtwoorden in krijgen als ik het goed versta. Hoe doe ik dit via phpmyadmin?

VeeWee
%Europe/Berlin %756 %2009, 18:09
links de database selecteren (indien je er meerdere beschikbaar hebt)
vervolgens links de tabel auth selecteren
op het knopje invoegen drukken helemaal vanboven in de lijst: gegevens, structuur, ... aan de rechter kant.

Dan gewoon de veldjes invullen

xFTx
%Europe/Berlin %861 %2009, 20:41
Bedankt, ik krijg nog altijd geen antwoord van php.
Heb dus de swf van het bronbestand. Kan niets mis mee zijn.
Samen met het php bestand (newlogin.php zoals op kirupa) in dezelfde directory gezet.
Het ligt dus aan php of mySQL.
php code:
<?
//this pulls the variables from the flash movie when the user
//hits submit. Use this when your global variables are off.
//I don't know how to toggle global variables, so I just put
//it in all the time ;)
$user=$_POST['user'];
$pass=$_POST['pass'];

//connect to database
if ($user && $pass){
mysql_pconnect("mysql.mijndomein.be","gebruikersnaam database","wachtwoord database") or die ("didn't connect to mysql");
mysql_select_db("naam database") or die ("no database");
//make query
$query = "SELECT * FROM auth WHERE username = '$user' AND userpassword = '$pass'";
$result = mysql_query( $query ) or die ("didn't query");

//see if there's an EXACT match
$num = mysql_num_rows( $result );
if ($num == 1){
print "status=You're in&checklog=1";
} else {
print "status=Sorry, but your user name and password did not match a user name/password combination in our database. Usernames and passwords are entered in from a different file. Thank you for visiting test login script!!&checklog=2";
}
}

?>
gebruikersnaam,wachtwoord,mijndomein en naam van database heb ik verandert. Is <? juist of moet dat <?php worden? ik zie geen andere fouten in het script.
CREATE TABLE auth (
userid INT( 4 ) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT PRIMARY KEY ,
username VARCHAR( 20 ) NOT NULL ,
userpassword VARCHAR( 20 ) NOT NULL
)
Daarna een naam bij "waarde" van username en een wachtwoord bij "waarde" van userpassword getypt. Dat is alles. Ik krijg de melding in de swf "Wait..". Dat is wanneer er iets naar php gestuurd wordt. Er gebeurt dus niets.
Hoe kan ik de fout vinden?

xFTx
%Europe/Berlin %562 %2009, 13:29
ONWAARSCHIJNLIJK!!Maar het is gelukt:p:p
Voor de mensen die hetzelfde probleem hebben, in mijn vorige post moet "mysql.mijndomein.be" vervangen worden in "localhost" want de bestanden staan meestal op dezelfde server dan de database waar deze mee communiceren.
Indien er nog basisproblemen zijn, kan je me ook altijd een PM sturen.
xFTx