Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[MSSQL/PHP]

Pagina: 1
Acties:
  • 1.272 views sinds 30-01-2008

  • Yahiko750
  • Registratie: Mei 2005
  • Laatst online: 11:06
Hoi allemaal,

Ik heb extreem weinig ervaring op het gebied van MSSQL2000 en ben op dit moment dus aan het stoeien met een script.


<?php
$dbhost = "localhost";
$dbuser = "xxxx";
$dbpass = "xxxx";
$dbworld = 'xxxx';
$dblogin = 'xxxx';
if (!$_POST)
{
?>
<form action="create-account.php" method="post">
Account: <input type="text" name="Account" maxlength=10 ><br>
Password: <input type="password" name="password" maxlength=10 ><br>
Password: <input type="password" name="password2" maxlength=10 ><br>
E-Mail: <input type="text" name="email"><br>
Real Name: <input type="text" name="realname"><br>
Secret Q: <input type="text" name="question"><br>
Secret A: <input type="text" name="answer"><br>
<input type="submit" value="Create Account"><br>
</form>
<?php

}
else {
$Account=$_POST['Account'];
$password=$_POST['password'];
$password2=$_POST['password2'];
$email=$_POST['email'];
$q=$_POST['question'];
$a=$_POST['answer'];
$realname=$_POST['realname'];
if ($password != $password2) die("Passwords do not match<br>");
if(!ereg(".",$email) or !ereg("@",$email)) die("Please type a valid Email.<br>".$date);
$ip=getenv("REMOTE_ADDR");
$msconnect=mssql_connect("$dbhost","$dbuser","$dbpass");
if ($msconnect)
{
mssql_select_db($dblogin, $msconnect);
$accidrow = mssql_query ("select * from ACCOUNT_T",$msconnect);
$Accountid = mssql_num_rows($accidrow) + 1001;
$query = "INSERT INTO ACCOUNT_T VALUES ('".$Account."','".$password."', '".$Accountid."', '".$ip."', '0', '03/04/2002', NULL, NULL, NULL, '".$realname."', NULL,'".$email."', NULL, '".$q."', '".$a."', '4/5/15', NULL, '500', NULL)";
$end = mssql_query ($query, $msconnect );
if ($end)
{
echo "Account created,you can log in<br>";
}
mssql_close($msconnect);
}
}
?>

Ik krijg de volgende, vreemd in mijn ogen lijkende, foutmelding:
Warning: mssql_query() [function.mssql-query]: message: An explicit value for the identity column in table 'ACCOUNT_T' can only be specified when a column list is used and IDENTITY_INSERT is ON. (severity 16) in C:\Webserver\htdocs\hbusa.savium.net\create-account.php on line 48

Warning: mssql_query() [function.mssql-query]: Query failed in C:\Webserver\htdocs\hbusa.savium.net\create-account.php on line 48

Iemand enig idee hoe ik dit eventueel gefixt krijg?

  • Tubby
  • Registratie: Juni 2001
  • Laatst online: 28-11 21:35

Tubby

or not to be

Je insert columns specifieren, je probeert een waarde in de primary key column te stoppen welke op identity seed staat.

Probeer de query eerst werkend te krijgen via de Query Analyser in je Enterprise Manager.

[ Voor 28% gewijzigd door Tubby op 08-09-2007 20:30 ]

tubby.nl - Artes Moriendi - q1 - bf1942 - WoT - pubg - LinkedIN


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

1) zet je code tussen PHP-tags
2) je code is daadwerkelijk verschrikkelijk. Een single quote "'" in je input, en alles ligt overhoop.
3) zorg eerst dat je query bolt in een of ander tooltje van MSSQL.
4) lees de errors, PHP geeft zowat de meest verbose errors!

Going for adventure, lots of sun and a convertible! | GMT-8


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Je zal hier inderdaad even de expliciete manier van schrijven moeten gebruiken:
SQL:
1
INSERT INTO tabel (veld1, veld2) VALUES ("waarde1", "waarde2")


Dat is overigens iets wat best wel uit de foutmelding te halen is, en bovendien na wat Googlen ook wel op te lossen is. ;) Vandaar ook dat ik je topic sluit, je zal er verder wel uit kunnen komen. :)

Overigens: Hoe post je code? / Hoe gebruik je de code tag? :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.