PDA

View Full Version : ایراد کد



mnajafi
سه شنبه 20 شهریور 1386, 15:25 عصر
به نظرشما این کد چه ایرادی داره؟
/
mysql_select_db('personel',$db);

$query="insert into pers_in_out (pers_no,date,in,out)
values ('".$pers."','".$date."','".$in."','".$out."')"; $result=mysql_query($query
);

tabib_m
سه شنبه 20 شهریور 1386, 16:31 عصر
سلام.
لطفا عنوان مناسب انتخاب کنید.

1- لطفا کدتون رو توی تگ CODE قرار بدید تا راحتتر قابل خوندن باشه.
2- $db از کجا اومده؟ (کجا مقدار دهی شده؟)
3- در دستورات sql ٬ عنوان جدول ها و فیلد ها رو داخل دو تا کاراکتر " ` " قرار بدید:


insert into `pers_in_out` (`pers_no`,`date`,`in`,`out`) values '$pers','$date','$in','$out'

4- در کل٬ خطایی که شما باهاش مواجه میشید چیه؟؟؟

موفق باشید.

peyman1987
سه شنبه 20 شهریور 1386, 17:41 عصر
یه مورد هم من به توصیه های دوستمون اضافه میکنم. سعی کنین کدهاتون رو تمیز و مرتب بنویسین تا خودتون حداقل برای خوندن و تریسش مشکل نداشته باشین. در ضمن من کد شما رو بصورت مرتب شده میزارم تا جاییکه من دیدم اگه متغیرهاتون رو قبل از این تکه کد درست مقدار دهی کرده باشین این کد هیچ مشکلی نداره.



MYSQL_SELECT_DB("personel",$db);
$query = "INSERT INTO pers_in_out (pers_no,date,in,out) VALUES ('$pers','$date','$in','$out')";
$result = MYSQL_QUERY($query);

mnajafi
سه شنبه 20 شهریور 1386, 20:23 عصر
والا من همیشه برای ذخیره داده هام از این تکه کد استفاده می کنم ولی الان دو روزه سرکارم مقادیر داخل جدول ذخیره نمی شه trace کردم فکر می کنم این تکه کد اجرا نمی شه.موندم

peyman1987
سه شنبه 20 شهریور 1386, 21:08 عصر
بازم میگم باید مطمئن بشین که متغیرهای استفاده شده در این تکه کد رو درست مقداردهی میکنین. اگه کدهای قبل از این تکه رو هم قرار بدین بهتر میشه کمکتون کرد.

hamed_m
سه شنبه 20 شهریور 1386, 22:11 عصر
echo $query;
exit;


میتونید به این شیوه متوجه بشید که مقادیر صحیح ارسال میشه یا خیر.

jhoseinii
سه شنبه 20 شهریور 1386, 23:31 عصر
احتمال میدم کلماتی که برای اسم فیلد ها انتخاب کردید از قبل توسط mysql رزرو شده (in .. out)
یه پیشنهاد، همیشه موقع انتخاب اسم برای فیلد ها، یه _ پشتش بزاریدhttp://www.pic4ever.com/images/271.gif


3- در دستورات sql ٬ عنوان جدول ها و فیلد ها رو داخل دو تا کاراکتر " ` " قرار بدید:

این هم کارسازه

mnajafi
چهارشنبه 21 شهریور 1386, 07:54 صبح
کد من به طور کامل اینه:


<?

$pers=$_POST['T1'];
$date1=$_POST['T2'];
$in1=$_POST['T3'];
$out1=$_POST['T4'];

if (strlen( $pers)==0 or strlen($date1)==0)
{
echo 'u most fill all fields';
exit;
}

$db = mysql_connect();
if (!$db)
{
echo 'error:could not connect to mysql server';
exit;
}

mysql_select_db('personel',$db);

$query="insert into 'pers_in_out' (pers_no,date,in,out)
values('".$pers."' , '".$date1."' , '".$in1."' , '".$out1."')";

$result=mysql_query($query);
echo $query;
if ($result)
echo mysql_affected_rows().'<b> data inserted.</b>';

mysql_close($db);

?>

اگه دقت کنید من چند جا کنترل می کنم متغیر $db برای کنترل کانکت شدن بهmysql ,و خط ماقبل آخر برای کنترل نوشته شدن داده در بانک.

oxygenws
چهارشنبه 21 شهریور 1386, 12:52 عصر
به احترام دوستانی که پاسخ دادند تاپیکت بسته نمی شه.
برادر محسن، لطفا این پست ها رو گزارش کنید تا سریع تر بررسی بشه :) ممنون.

jhoseinii
چهارشنبه 21 شهریور 1386, 12:59 عصر
مشکل برنامه مشخصه، باید از ` استفاده بشه

mnajafi
چهارشنبه 21 شهریور 1386, 13:16 عصر
به احترام دوستانی که پاسخ دادند تاپیکت بسته نمی شه.
برادر محسن، لطفا این پست ها رو گزارش کنید تا سریع تر بررسی بشه :) ممنون.

متوجه نمی شم.چرا؟