PDA

View Full Version : سوال: ارسال متن به mysql



ravand
سه شنبه 16 اسفند 1390, 18:08 عصر
سلام
خيلي برام عجيبه چرا اين كد كار نميكنه:
نمي فهمم مشكلش چيه؟ بهم پيام ميده ميگه ارسال شد ولي فقط تاريخ رو براي ديتابيس ارسال ميكنه و فيلد هاي ديگه رو نه.
متشكرم.

<?php
$con=mysql_connect('localhost','root','')or die(mysql_error());
$db=mysql_select_db('search')or die(mysql_error());
$date_1=date('Y-m-d');
mysql_query("SET CHARACTER SET utf8",$con);
$Subject_1=empty($_POST['subject'])?'':mysql_real_escape_string(trim($_POST['subject']),$con);
$Text_1=empty($_POST['body'])?'':mysql_real_escape_string(trim($_POST['body']),$con);
$tags_1=empty($_POST['tags'])?'':mysql_real_escape_string(trim($_POST['tags']),$con);
$Link_1=empty($_POST['link'])?'':mysql_real_escape_string(trim($_POST['Link']),$con);
$insert="INSERT INTO posts (`subject`,`body`,`tags`,`link`,`date`) VALUES ('$Subject_1','$Text_1','$tags_1','$Link_1','$date _1')";
$tab=mysql_query($insert,$con) or die(mysql_error());
if($tab==false){
die("error with query\r\n");
}
$num=mysql_affected_rows($con);
if($num==1){
echo ".ارسال شد";
}
else
if($num == 0){
echo".ارسال نشد ";
}
mysql_close($con);
?>

MMSHFE
سه شنبه 16 اسفند 1390, 18:30 عصر
فیلدهاتون احیاناً فارسی نیست؟

mahmod2000
سه شنبه 16 اسفند 1390, 19:21 عصر
یک echo بگیرید از دستور query خوب

ببینید چیو ارسال میکنه

ravand
سه شنبه 16 اسفند 1390, 20:09 عصر
فیلدهاتون احیاناً فارسی نیست؟

بله حق با شما بود مهندس. من قسمت فرم يعني كدهاي html كه مطالب رو براي قسمت php ارسال ميكنيم رو ديدم نميدونم چرا با ansi ذخيره شده بود!

ravand
سه شنبه 16 اسفند 1390, 22:23 عصر
نميدونم چرا فيلد link خاليه. هر كاريش كردم درست نشد. علتش چي ميتونه باشه؟

ravand
چهارشنبه 17 اسفند 1390, 07:38 صبح
خيلي برام عجيبه!
من امدم ترتيب قرار گرفتن فيلدها رو در اين خط با ترتيب قرار گرفتن فيلدها داخل جدول در ديتابيس رو يكي كردم درست شد!!!

$vared="INSERT INTO posts (`subject`,`body`,`tags`,`linki`,`date`) VALUES ('$Subject_1','$Text_1','$tags_1','$Link_l','$date _1')";
يعني توي اين خط كه ترتيب فيلد ها subject , body,tags,linki,date هست به همين شكل هم توي ديتابيس عمل كردم.

MMSHFE
چهارشنبه 17 اسفند 1390, 08:38 صبح
خوب این عجیب نیست، باید همینطور باشه. علت نامگذاری فیلدها در دستور INSERT فقط امکان نادیده گرفتن یک فیلد هست، نه تغییر ترتیب ارسال مقادیر.