PDA

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



abbaszz
یک شنبه 15 اردیبهشت 1392, 14:40 عصر
سلام دوستان. وقتی دستور اینسرت (...mysql_query("insert into) رو قبل از فراخوانی تابع getstatus() قرار میدم به درستی کار میکنه. اما بعد از استفاده از این تابع اینسرت نمیشه! راهنمایی لطفا
در ضمن ازدستور اینسرت خیلی ساده(بدون متغیر) هم استفاده کردم، باز هم قبل تابع درسته،بعد اجرای تابع نه!!

اینم کد مربوط به تابع getstatus است:

public function getstatus(){

try{

$getstatus = $this->soap_object->GetStatus();
$this->check_status_returned_result = "GetStatusResult";
$this->check_status_string = $getstatus;
$this->check_status();
if( $this->check_status['status'] == 0 ){

$TCI = $this->check_status['TCI'];
$MTN = $this->check_status['MTN'];
$result = array( 'TCI' => $TCI , 'MTN' => $MTN );
return($result);

}else{

$this->login();
$this->getstatus();

}

}catch(Exception $e){

$this->message = array( 'type' => 'error' , 'message' => 'متاسفانه مشکلی در متد وضعیت اپراتور ها وجود دارد' );

}

}

lalecarbon
یک شنبه 15 اردیبهشت 1392, 14:59 عصر
سلام دوستان. وقتی دستور اینسرت (...mysql_query("insert into) رو قبل از فراخوانی تابع getstatus() قرار میدم به درستی کار میکنه. اما بعد از استفاده از این تابع اینسرت نمیشه! راهنمایی لطفا
در ضمن ازدستور اینسرت خیلی ساده(بدون متغیر) هم استفاده کردم، باز هم قبل تابع درسته،بعد اجرای تابع نه!!

اینم کد مربوط به تابع getstatus است:

public function getstatus(){

try{

$getstatus = $this->soap_object->GetStatus();
$this->check_status_returned_result = "GetStatusResult";
$this->check_status_string = $getstatus;
$this->check_status();
if( $this->check_status['status'] == 0 ){

$TCI = $this->check_status['TCI'];
$MTN = $this->check_status['MTN'];
$result = array( 'TCI' => $TCI , 'MTN' => $MTN );
return($result);

}else{

$this->login();
$this->getstatus();

}

}catch(Exception $e){

$this->message = array( 'type' => 'error' , 'message' => 'متاسفانه مشکلی در متد وضعیت اپراتور ها وجود دارد' );

}

}

سلام. به احتمال خیلی زیاد در return شرط می مونه و به کد درج نمی رسه. و احتماله دیگه اینه که خطا به وجود میاد. از تابع die برای رسیدگی به خطا استفاده کنید, شاید مشکل برطرف بشه

abbaszz
یک شنبه 15 اردیبهشت 1392, 15:06 عصر
سلام. به احتمال خیلی زیاد در return شرط می مونه و به کد درج نمی رسه. و احتماله دیگه اینه که خطا به وجود میاد. از تابع die برای رسیدگی به خطا استفاده کنید, شاید مشکل برطرف بشه

به کد درج میرسه و خطای die رو هم نشون میده

$operator_status = $webservice->getstatus();
mysql_query("insert into table values ('','0') or die('error');

فرزند کوروش
دوشنبه 16 اردیبهشت 1392, 09:13 صبح
die رو اینجوری بنویس

mysql_query("insert into table values ('','0') or die( mysql_error() );
با این کد ارور دیتابیست نشون داده میشه

abbaszz
دوشنبه 16 اردیبهشت 1392, 10:47 صبح
die رو اینجوری بنویس

mysql_query("insert into table values ('','0') or die( mysql_error() );
با این کد ارور دیتابیست نشون داده میشه

ممنون.اینه خطا:
MySQL server has gone away
چطوری حلش کنم؟

abbaszz
دوشنبه 16 اردیبهشت 1392, 11:50 صبح
فک کنم از mysql.connect_timeout هستش که بصورت پیشفرض روی 60 هست.
با دستور
ini_set('mysql.connect_timeout','6000 هم تغییر نکرد و هنوز روی 60 هستش. باید به هاستینگ بگم؟

MMSHFE
دوشنبه 16 اردیبهشت 1392, 12:09 عصر
بله اتصال MySQL شما قطع میشه. به پشتیبانی هاستتون اطلاع بدین و خطا رو هم بهشون بگین.