PDA

View Full Version : مبتدی: مشکل در insert در جداول مای اس کیو ال



sina_000
شنبه 29 شهریور 1393, 15:06 عصر
سلام.
من تازه کار با php رو شروع کردم و توی این کد مشکل دارم.
میخوام کاربر با نوشتن اطلاعات خودش داخل فرم ثبت نام کنه.برای اینکه اون ثبت نام کنه نیاز به پایگاه داده داریم.اما همه چیز خوب پیش میره اما وقتی میخوام داخل پایگاه داده بریزم اون اطلاعات رو اشکال پیش میاد.
کدشم اینه.لطفا راهنمایی کنید.:لبخند:

<head>
<meta charset="utf-8">
</head>
<body dir="rtl">
<?php


$con=mysql_connect("localhost","root","");
if(!$con){
die('به دلیل مشکلی در سرور ارتباط با پایگاه داده انجام نشد.به دلیل زیر:'."<br>".mysql_error());
};
mysql_select_db("testdb",$con);





mysql_query("INSERT INTO `tablet`(`username`, `number`, `model`) VALUES ('$_POST[username]','$_POST[number]','5')");

mysql_close($con);
?></body>
()

از صحت فرم مطمئنم اون رو توی صفحه ایندکسم نوشتم و به صفحه check.php لینکش کردم.یعنی اکشنش رو اون صفحه قرار دادم.

wallfa
شنبه 29 شهریور 1393, 15:11 عصر
چک کن ببین درسته :


<head><meta charset="utf-8"></head><body dir="rtl"><?php $con=mysql_connect("localhost","root","");
if(!$con){ die('به دلیل مشکلی در سرور ارتباط با پایگاه داده انجام نشد.به دلیل زیر:'."".mysql_error()); }; mysql_select_db("testdb",$con); mysql_query("INSERT INTO `tablet`(`username`, `number`, `model`) VALUES ('".$_POST['username'].'","'.$_POST['number']."','5')"); mysql_close($con);?></body>

sina_000
شنبه 29 شهریور 1393, 15:13 عصر
درست نشد:ناراحت:

sina_000
شنبه 29 شهریور 1393, 15:19 عصر
اروری که میده اینه.
متوجه نشدم چی میگه زبانم زیاد خوب نیست.
Error:Column count doesn't match value count at row 1

wallfa
شنبه 29 شهریور 1393, 15:26 عصر
میگه تعداد ستون ها برابر نیست با تعداد مقدار ها در خط 1 .

sina_000
شنبه 29 شهریور 1393, 15:28 عصر
میدونم نفهمیدم منظورش چیه.

wallfa
شنبه 29 شهریور 1393, 15:28 عصر
خوب الان تو سه تا مقدار ورودی می خواهی وارد کنی فکر میکنم تعداد ستون های توی دیتابیست بیش از این باشه ! :لبخند:

sina_000
شنبه 29 شهریور 1393, 15:30 عصر
نه دقیقا سه تاست.میخواین عکسشم بزارم؟

mohammad reza beizavi
شنبه 29 شهریور 1393, 15:30 عصر
اروری که میده اینه.
متوجه نشدم چی میگه زبانم زیاد خوب نیست.
Error:Column count doesn't match value count at row 1
درود بر شما
دوست گرامی، اینجا داره میگه که مقادیری که برای این دستور Insert فرستادی با مقادیری که باید ثبت بشند برابر نیستند. امکانش هست که شما Id رو not null گذاشته باشید و یا هر علت دیگه.
بهتره شما با همین مقادیر یه بار دستور Insert رو چک کنید

sina_000
شنبه 29 شهریور 1393, 15:35 عصر
خودتون ببینید.
123701

sina_000
شنبه 29 شهریور 1393, 15:43 عصر
وقتی با کد sql بدون اتصال به فرم انجام میدم همون مقادیر رو میئذیره.تا حالا سه بار به خاطرش یادگیری پی اچ پی رو ول کردم.

wallfa
شنبه 29 شهریور 1393, 15:44 عصر
مشکل حل شد

mohammad reza beizavi
شنبه 29 شهریور 1393, 15:46 عصر
شما مقداری که به mysql_query میدید رو بذارید توی یه متغیر echo کنید ببینید چی داره داره ساخته میشه، اون مقدار رو بذارید ببینیم.

sina_000
شنبه 29 شهریور 1393, 15:50 عصر
اگه منظورتون رو درست فهمیده باشم.
INSERT INTO `tablet`(`username`, `number`, `model`) VALUES ('23","5845','5')

mohammad reza beizavi
شنبه 29 شهریور 1393, 15:55 عصر
جای اون " ها رو با ' عوض کن باید درست بشه

sina_000
شنبه 29 شهریور 1393, 16:01 عصر
درست شد واقعا متشکرم از کمکتون