2012-04-03 6 views
0
私は、MySQLサーバを経験してい従っているPHPのコードをMySQLデータベースにAPIの結果を格納する応答で離れて行ってしまった

でのAPIレスポンスを格納した結果で離れて行ってしまいました配列内にapiレスポンスを格納し、それをmysqlテーブルに格納するなどの他のオプションもありますが、どのような方法でも同じエラーがスローされます。このエラーの後の関数内の他のコードはサーバーによって実行されません。MySQLサーバーは、PHP

私は、それがmysqlのapi応答とタイムアウトの問題で遅れていると思います。

このエラーを回避し、結果を適切な方法で保存する方法はありますか?

+0

このエラーは何ですか? – safarov

+0

"MYSQLサーバがなくなった"というのは実際のエラーです。可能な限り最も役に立っているがエラーは少ない。 – SpaceBeers

答えて

0

はあなたがsendmsgのを省略して行う場合、それは動作しません:

$api_response = 'test';//sendmsg($group_detail['cell_no'], $SMS); //function to execute API 

もしそうなら、sendmsgの()任意の時点でのMySQL接続のいくつかの並べ替えを使用していますか? データベースに接続したときのリンクを初めて格納して再利用することができます。

$link=mysql_connect(); 
.. 
.. 
mysql_query($sql,$link); 
+0

が動作します。しかし、SQLの最初の2つの応答...コードの残りの部分はまったく動かない。 – shuja

+0

$ api_responseは通常どのように見えますか?あなたは '$ api_response = mysql_real_escape_string($ api_response);を使ってもエスケープしたいかもしれません。 – jornare

0

There are lots of reasons for the gone away messageが、私はあなたの問題は、あなたが(SMSを送信する?)API呼び出しの前に、あなたのDBへの接続を開くことである疑いがあるとAPIコールは端末にINSERTが実行される前に、接続をサーバーが発生し

ただINSERT文の前に開いているDB接続を移動してみてください。

$api_response = sendmsg($group_detail['cell_no'], $SMS); //function to execute API 
// open connection here 
$sql = "INSERT INTO sms_sent_record (record_id, api_response) 
         VALUES (NULL, '$api_response')"; 
$result = mysql_query($sql) or die('Error, updating sms & group count    
       in sms_sent_count failed : ' . mysql_error()); 

あなたの値セットをチェックwait_timeoutため、これは

です

非対話型接続を閉じる前にサーバーが のアクティビティを待機する秒数。

この値を非常に低く設定すると、サーバーは接続を開始してからクエリを実行するまでに接続がタイムアウトします。