PDA

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



Cyrus_black
دوشنبه 02 اردیبهشت 1392, 14:43 عصر
من یه کد نوشتم ، یه فرم و یک فایل php و یه دیتابیس و تیبل

ولی وقتی اطلاعات تو فرم وارد میشه submit میزنی تو دیتابیس ثبت نمیشه

حالا میخواستم دوستان یه چک بکنند ببینیند مشکل از کجا

سورس فایل php :


<?
$User = $_POST['User'];
$Email = $_POST['Email']
$Date = $_POST['Expire']
$Con = mysql_connect("localhost" , "admin" , "123456");
if (!$Con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("users",$Con);
$Sql = "INSERT INTO 'user'( 'member_id' , 'User1' , 'Email' , 'Expire' ) VALUES ('14','$User','$Email','$Date')";
$result = @mysql_query($Sql,$Con);
if($result) {
echo "Succed";
exit();
}
else {
die("Query failed");
}
?>

سورس فایل html (فرم )


<html>
<body>
<form action="users.php" method="post">
Name :
<input type="text" name="User">
Family :
<input type="text" name="Email">
Age:
<input type="text" name="Expire">
<input type="submit">
</form>
</body>
</html>


یه عکس هم از تیبل و دیتابیس گذاشتم

ممنون میشم دوستان چک کنند

engmmrj
دوشنبه 02 اردیبهشت 1392, 15:10 عصر
مشکل شما اینه که نام فیلدها و جدول رو داخل کوتیشن(')گذاشتین ، کوتیشن رو حذف کنید مشکلتون حل میشه ، در ضمن اگه خواستی بفهمی در کوئری مشکل از کجاست از تابع mysql_error() استفاده کن.
موفق باشید.

Keramatifar
دوشنبه 02 اردیبهشت 1392, 15:10 عصر
$Sql = "INSERT INTO 'user'( 'member_id' , 'User1' , 'Email' , 'Expire' ) VALUES ('14','$User','$Email','$Date')";
شما نام جدول و فیلدها رو در کوئریتون توی Quote گذاشتید در صورتیکه باید توی Back Quote (`) بذارید معمولا روی کیبوردها با دکه ~ زده میشه

$Sql = "INSERT INTO `user`( `member_id` , `User1` , `Email` , `Expire` ) VALUES ('14','$User','$Email','$Date')";

Cyrus_black
دوشنبه 02 اردیبهشت 1392, 16:57 عصر
سلام

با تبدیل به back quote هم درست نشد و اطلاعات ثبت نمیشه

Keramatifar
دوشنبه 02 اردیبهشت 1392, 17:24 عصر
توی فانکشن die بنویس mysql_error() تا ببینی چه خطایی میده

die(mysql_error());

Cyrus_black
دوشنبه 02 اردیبهشت 1392, 17:37 عصر
جالب اينكه نه succed نه query failed رو هم نمايش نميده

Keramatifar
دوشنبه 02 اردیبهشت 1392, 18:47 عصر
کدت رو به این شکل تغییر بده

<?
$User = $_POST['User'];
$Email = $_POST['Email']
$Date = $_POST['Expire']
$Con = mysql_connect("localhost" , "admin" , "123456") or die(mysql_error());
if (!$Con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("users",$Con) or die(mysql_error());
$Sql = "INSERT INTO user( member_id , User1 , Email , Expire ) VALUES ('14','$User','$Email','$Date')";
$result = mysql_query($Sql,$Con) or die(mysql_error());
if($result) {
echo "Succed";
exit();
}
else {
die("Query failed");
}
?>

Cyrus_black
دوشنبه 02 اردیبهشت 1392, 19:57 عصر
جناب کرامتی کد شما رو هم امتحان کردم

صفحه سفید میشه وقتی فرم ارسال میشه ولی رکورد ثبت نمیشه

shahriyar3
دوشنبه 02 اردیبهشت 1392, 20:09 عصر
این 2 تا خط سمن کالون(;) نداشت همینجوری گذاشتی ؟


$Email = $_POST['Email']
$Date = $_POST['Expire']

Cyrus_black
دوشنبه 02 اردیبهشت 1392, 20:29 عصر
نه ديگه با سمي كالن :دي

matrixhassan
دوشنبه 02 اردیبهشت 1392, 21:10 عصر
دوست عزیز خط اولتو به اینصورت تغییر بده <?php یعنی بعد از علامت سوال یه php هم بنویس .

Cyrus_black
دوشنبه 02 اردیبهشت 1392, 23:30 عصر
با کد اقای کرامتی تست کردم روی هاست ( رو لوکال که هیچ جوره جواب نگرفتم ) رو هاست جواب داد

اقای کرامتی کد من مشکلش چی بود ؟

Cyrus_black
سه شنبه 03 اردیبهشت 1392, 00:18 صبح
رو هاست کد اولی هم جواب داد

مشکل از لوکاله ولی چرا و چجوری .... !!!؟؟

Keramatifar
سه شنبه 03 اردیبهشت 1392, 13:02 عصر
کد شما یک @ قبل از Mysql_query داشت که باعث میشد خطا نمایش داده نشود