PDA

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



mfaridi
چهارشنبه 21 مرداد 1394, 08:41 صبح
سلام دوستان تازگی به یه مشکل عجیب برخوردم متوجه شدم وقتی چندین کاربر به سایت وارد میشن و کاری رو انجام میدن اشتباهی چندین رکورد به جدول اضافه میشه در صورتی که من فقط یه جدول اضافه میکنم ای تابع فقط یکجا داره استفاده میشه از کلاس pdo دارم استفاده میکنم
این مشکل زمانی به وجود میاد که چندین کار بر تو سایت باشن ممنون میشم راهنمایی کنید

function insertMsg($id_game,$id_user,$text){ include'1.php';
$time = time();
$tt = new Databasee();


$tt->query("INSERT INTO `myvil`.`fK`(`kal_id_game`, `kal_user_id`, `kal_time`, `kal_text`) VALUES
(:id_game,:id_user,:_time,:_text);");
$tt->bind("id_game",$id_game);
$tt->bind("id_user",$id_user);
$tt->bind("_time",$time);
$tt->bind("_text",$text);
$tt->execute();


}
این هم کل فایل

<?php
function insertMsg($id_game,$id_user,$text){
include'1.php';
$time = time();
$tt = new Databasee();
$tt->beginTransaction();

$tt->query("INSERT INTO `myviltk_myvil`.`fK`(`kal_id_game`, `kal_user_id`, `kal_time`, `kal_text`) VALUES
(:id_game,:id_user,:_time,:_text);");
$tt->bind("id_game",$id_game);
$tt->bind("id_user",$id_user);
$tt->bind("_time",$time);
$tt->bind("_text",$text);
$tt->execute();
$tt->endTransaction();
}
function getMsg($id_game,$last,$limit){

$time = time();

if($last == 0){
$qurey_t = "SELECT f_u.u_name,f_u.user,kal_user_id,kal_time,kal_text, kal_id ,
(SELECT `ha_id_team` FROM `footabl_havadaran` WHERE `ha_id_lig` = 1 and `ha_id_user` = kal_user_id LIMIT 1) as flag
FROM `fK`
INNER JOIN footbal_user f_u on f_u.g_id = footbal_kalkal.kal_user_id
WHERE `kal_id_game` = $id_game and f_u.g_id = kal_user_id
ORDER BY `kal_id` DESC LIMIT 50;";
}else{
$qurey_t = "SELECT f_u.u_name,f_u.user,kal_user_id,kal_time,kal_text, kal_id ,
(SELECT `ha_id_team` FROM `footabl_havadaran` WHERE `ha_id_lig` = 1 and `ha_id_user` = kal_user_id LIMIT 1) as flag
FROM `fK`
INNER JOIN footbal_user f_u on f_u.g_id = footbal_kalkal.kal_user_id
WHERE `kal_id_game` = $id_game and f_u.g_id = kal_user_id
and kal_id > $last
ORDER BY `kal_id` DESC ;";
}
include '1.php';
$tt = new Databasee();
$tt->beginTransaction();

$tt->query($qurey_t);
$row = $tt->resultset();
$arMsg= array();
for ($i = 0 ;$i < sizeof($row);$i++){
if($row[$i]['flag'] == null){
$row[$i]['flag'] = 0;
}
$arMsg[]= array( "id_msg"=>$row[$i]['kal_id'],"flag"=>$row[$i]['flag'],"id"=>$row[$i]['kal_user_id'],"user"=>$row[$i]['u_name'],"name"=>$row[$i]['user'],"time"=>$row[$i]['kal_time'],"msg"=>$row[$i]['kal_text']);
}
$tt->endTransaction();

return json_encode(array("msg"=>array_reverse($arMsg)));

}

if(isset($_POST['msg_insert'])){
if(isset($_POST['id_game']) && isset($_POST['id']) && isset($_POST['text'])){
insertMsg($_POST['id_game'], $_POST['id'], $_POST['text']);
echo "msg inser";
}
}

if(isset($_POST['msg'])){
if(isset($_POST['id_game'])){
echo getMsg($_POST['id_game'],$_POST['id_last'], 50);
}
}

?>

mfaridi
چهارشنبه 21 مرداد 1394, 09:24 صبح
چند روزه درگیرش هستم:گریه::گریه::گریه::گریه:: ریه::گریه::گریه::گریه::گریه:: ریه::گریه::گریه: