[英]php registration form
我所有我試圖使用html表單將一些值插入數據庫,它給我的列計數的錯誤與第1行的值計數不匹配 ,我不明白,我是一個新的PHP PLZ任何人都可以幫助我嗎? 問候
PHP代碼
<?
if(isset($_POST['submit'])){
$userName = $_POST["userName"];
$FirstName =$_POST["FirstName"];
$LastName =$_POST["LastName"];
$stnumber = $_Post["ID"];
$class = $_POST["class"];
$subject = $_POST["subject"];
$grade = $_POST["grade"];
$password = $_POST["password"];
} else{
echo("wronggggggg nameeeeeeeeeeeee");
}
$stnumber = mysql_escape_string ("ID");
$userName = mysql_escape_string ("userName");
$password = mysql_escape_string ("password");
$FirstName = mysql_escape_string ("FirstName");
$LastName = mysql_escape_string ("LastName");
$class = mysql_escape_string ("class");
$subject = mysql_escape_string ("subject");
$grade = mysql_escape_string ("grade");
mysql_query ("INSERT INTO LOGIN
VALUES ('$stnumber','$userName','$password','$FirstName','$LastName','$stnumber','$class','$subject','$grade')") or die(mysql_error());
$sql = mysql_query("SELECT * FROM LOGIN WHERE userName ='$userName'");
//$row = mysql_query($sqlUser);
//$result = mysql_query($sql, $connection);
if(mysql_num_rows ($sql)> 0){
echo ("Upload sucessful");
} else
{
echo("Upload fail");
}
試試此代碼
$ insert_qry = mysql_query(“INSERT INTO LOGIN
( ID
, userName
, password
, FirstName
, LastName
, class
, subject
, grade
)VALUES('”。$ stnumber。“','”。$ userName。“','”。$密碼 “ ''”,$名字。 “ ''”,$姓氏。 “ ''”。$類。 “ ''”。$主題。 “ ''”。$檔次。'“) “)或死(mysql_error());
檢查表中有多少列。 它應該是您插入的數量的確切數字,即9(減去任何自動增量)。
您必須指定要用於INSERT
的字段,或者正確地將數據插入到所有字段中。
我建議您嘗試按如下方式編輯查詢(我寧願假設您的字段名稱):
INSERT INTO `LOGIN`
(`stnumber`, `username`, `password`, `forename`, `surname`, `stnumber`, `class`, `subject`, `grade`)
VALUES
('$stnumber','$userName','$password','$FirstName','$LastName','$stnumber','$class','$subject','$grade')
在這一行:
mysql_query ("INSERT INTO LOGIN
VALUES ('$stnumber','$userName','$password','$FirstName','$LastName','$stnumber','$class','$subject','$grade')") or die(mysql_error());
你使用$stnumber
兩次,我不知道這是否有意,但我猜這可能增加了一個額外的值,不應該存在。
我發現最好在INSERT
語句中包含列名,以明確定義哪些值插入到哪個列中。 例如:
INSERT INTO `table` ( `column_1`, `column_2` )
VALUES ( 'value_1', 'value_2' );
您也可以考慮查看PHP PDO,因為它是一個更安全的mysql_query
調用替代品,從v5.5.0開始,將不推薦使用。
如果您提供表結構,我們可能能夠確切地從INSERT語句中確定哪些列丟失/額外。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.