PDA

View Full Version : سوال: پر کردن تعدادی از فیلد های جدول کاربر در هنگام ثبت نام



comptech
چهارشنبه 05 خرداد 1389, 00:49 صبح
سلام.
من یک جدول کاربران دارم که تعدادی مثلا 10 تافیلد داره که مشخصات کاربر رو مشخص میکنه مثل "نام" و "نام خانوادگی"و .. .یک فرمی قرار دادم که کاربران برای ثبت نام باید (تعدادی از مشخصات) رو مثلا 5 تا شو وارد کنند . حالا وقتی می خوام این اطلاعات گرفته شده رو وارد جدول کنم خطا میده . لطفا راهنمایی کنید

mirmousavi.m
چهارشنبه 05 خرداد 1389, 12:59 عصر
لطفا کد همراه با خطا رو بنویس

comptech
چهارشنبه 05 خرداد 1389, 14:54 عصر
خطایی که میده اینه : query failed:Column count doesn't match value count at row 1

mirmousavi.m
چهارشنبه 05 خرداد 1389, 16:40 عصر
همون طور که گفتم اگه کد خودتو هم میزاشتی بهتر بودا.
چند تا احتمال داره، مثلا نوع دیتا تایپ ها یکی نیست (مثل ارسال اینتیجر به جای استیرینگ و ...)
یا شاید تعداد فیلدها با هم مشکل داره...
برای جواب دقیقتر لطفا کدها رو بزار...

rapidpich
چهارشنبه 05 خرداد 1389, 18:13 عصر
داره میگه تعدادشون یکی نیس دیگه

comptech
چهارشنبه 05 خرداد 1389, 20:42 عصر
آقا این هم کد :
"id" و "credit" دو فیلدی هستند که در نمی خوام در فرم ثبت نام قرار بدم چون قرار نیست توسط کاربر تکمیل شوند و به همین خاطر در کد زیر آنها رو comment کردم


<?php
$userName=$_POST['userName'];
$passWord=$_POST['password'];
if(trim($userName)=="" || trim($passWord=="")){
echo"<br><h2><font color='red'>please enter username and password</font></h2>";
die("<a href='register.html'>back</a>");
}
$link=mysql_connect('localhost','root','');
if(!$link) {
die("could not connect to mysql"); }
$database="rezadb";
mysql_select_db('rezadb') or die("could not open $database<br>".mysql_error());
mysql_query("set names 'utf8'");
$query ="insert into user values(";
//$query = $query.$_GET['id'].",";
$query = $query."'".$_GET['fName']."',";
$query = $query."'".$_GET['lName']."',";
$query = $query."'".$_GET['type']."',";
$query = $query."'".$_GET['iden']."',";
$query = $query."'".$_GET['userName']."',";
$query = $query."'".$_GET['password']."',";
$query = $query."'".$_GET['flatNo']."',";
$query = $query."'".$_GET['tel']."',";
$query = $query."'".$_GET['address']."')";
//$query = $query."'".$_GET['credit']."')";
mysql_query($query) or die("query failed:" .mysql_error());
mysql_close($link);
?>

mirmousavi.m
چهارشنبه 05 خرداد 1389, 22:09 عصر
همون طور که rapidpich هم گفت مشکل همون تعداد فیلد‌ها هست.
برای این کار پیشنهاد می‌کنم نام فیلدهای جدول که قراره بهشون مقدار بفرستی رو بنویسی مثل:

$query ="insert into user (fName,lName,type,...) values(";

comptech
پنج شنبه 06 خرداد 1389, 12:35 عصر
ممنون همین کدی که گفتی نوشتم ، دیگه خطا نداد ولی وقتی رفتم تو بانک که اطلاعات وارد شده رو ببینم ، دیدم فقط فیلد id مقدار گرفته و بقیه فیلد ها خالی مونده ! برای این راهی داری؟