PDA

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



ama-amir
پنج شنبه 25 اسفند 1390, 00:18 صبح
سلام
دوستان من یه اسکریپت دارم به صورت زیره:


$idget = $_GET[id];
include_once ('db_connect.php');
$idget = $_GET[id];
if(isset($_POST['remove'])){
$id = intval($_POST['remove']);
if(mysql_query("DELETE FROM `comments` WHERE `id` = $id")){
exit(json_encode(array('status' => 'done')));
$idget = $_GET[id];
}
}

if(isset($_POST['page_id']) and isset($_POST['comment'])){
$user_id = 1;
$page_id = intval($_POST['page_id']);
$comment = mysql_escape_string($_POST['comment']);
$time = time();
$idget = $_GET[id];
if(mysql_query("INSERT INTO `comments` (`user_id`, `page_id`, `comment`, `time` , postid) VALUES ($user_id, '{$page_id}', '{$comment}', '{$time}' , '$idget')")){
$id = mysql_insert_id();
$row = single_comment($id);
$idget = $_GET[id];
exit(json_encode(array(
'id' => $id,
'avatar' => ($row['user_id']) ? get_gravatar($row['email'],40) : '#',
'time' => timeBetween($row['time'],time()),
'comment' => $row['comment'],
)));
}
}


من موقعی که $idget رو پرینت میکنم مقدارشو بهم میده ولی تو اون خطی که اینسرت میکنه هرچی میزنم 0 اینسرت میکنه!
ولی اگه به جای $idget که یه $_get هست یه مقدار عدد بدم همون عدد رو اینسرت میکنه
واسم عجیبه هرکاری میکنم درست نمیشه:-?
خیلی sql این اسکریپته خرچنگ قورباغس
تو یه سری قسمتا اومده متغیر رو توی آکولاد قرار داده مثل : {$page_id}
ممنون میشم بگید اشکال کارم کجاس

hightech
پنج شنبه 25 اسفند 1390, 12:02 عصر
چقدر اين عبارت رو تكرار كرديد؟!؟!

$idget = $_GET[id];
تست كنيد ببينيد توي خط 17 اگه اين مقدار رو پرينت كنيد باز هم جواب درست ميده يا نه
چون شما فرمتون رو با POST‌ فرستاديد، احتمال خطا وجود داره

ama-amir
پنج شنبه 25 اسفند 1390, 12:20 عصر
اصلا تو اون خط هرچی پرینت کنم دیگه تو دیتابیس چیزی اینسرت نمیکنه:D
عجیب رفته رو مخم:D

MMSHFE
پنج شنبه 25 اسفند 1390, 13:04 عصر
کد فرم ارسال اطلاعات رو که مقصدش، این اسکریپت هست هم میشه بگذارین؟