2016-06-12 10 views
0

このコードは、データベースから値を取得し、smsテンプレートを作成し、mobs番号とメッセージをwebserviceに渡してsmを送信します。それは私がIND $状況をつかむ機能でそのないので、DBに挿入しない方法PHP Mysqlは関数の文を挿入します

 $name = $resultarr['name']; 
    $amount = $resultarr['amount']; 
    $transaction_id = $resultarr['trans_id']; 
    $date = $resultarr['time_paid']; 

    //message template 
    $message = "Dear $name we have received $amount from you. MPESA transaction Id $transaction_id on $date."; 

    $mobilenumber = $resultarr['msisdn']; // get mobile number from array 
    $message_sent = $message; 

    $serviceArguments = array(
      "mobilenumber" => $mobilenumber, 
      "message" => $message_sent 
    ); 

    $client = new SoapClient("http://59.38.606.10:8080/smsengine/smsws?WSDL"); 

    $result = $client->process($serviceArguments); 

grabdetails($message_sent, $mobilenumber); 

    return $result; 

} 
//I call the function wall() to send sms   

    wall(); 

    $perm = wall(); 
    $status = $sperm->return; //outputing the status 
    // Here I want to capture the $status variable and put it in a db below 
    echo "$status"; 


function grabdetails($messagee, $mobno) 
{ 

$message_sent = $messagee; 
$mobilenumber = $mobno; 


$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "smsdb"; 

    // Create connection 


    // Check connection 

    $sql = "INSERT INTO smsdb (sms_text, receiver_number, time_sent, status) 
     VALUES 
     ('$message_sent', '$mobilenumber', NOW(), $status)"; 

質問がある.....機能の壁()の一部ですか?親切に。助け、誰ですか?

+1

ここで問題は何ですか? "status"値を持つときは、その値で 'INSERT'文を実行してください。その値を取得する場所の次の行で直接行うこともできますし、その値を取得した後にその関数を呼び出す関数を作成することもできます。問題が何であるかははっきりしていません。 – David

+0

こんにちは@Davidので、私はちょうど私がそれをエコーし​​ている正確なポイントで$ステータスを挿入することができると言っている?これは$ sql = "INSERT INTO smsdb(ステータス) です。 ( '$ status')";私は他の変数を挿入することができますか? –

答えて

0

上記のコードは完全ではありませんが、私はあなたが$client = new SoapClient("http://59.38.606.10:8080/smsengine/smsws?WSDL");を実行する場所の上の関数が実際にウォール関数であると仮定します。その場合、その関数が返すもの、つまり$resultは実際に必要なステータスを持っています。したがって、このコードスニペット($ spermは誤植で実際に$ perm、壁関数からの応答であると仮定します)では、オブジェクトであり必要なステータスを持つwall()からの応答を取得します。

$perm = wall(); 
$status = $sperm->return; //outputing the status 
// Here I want to capture the $status variable and put it in a db below 
echo "$status"; 

そうです場合は、壁の機能にgrabdetailsを呼び出す前に、あなたが実際のステータスを持っている、あなたは、このように関数にそれを送ることができます。

grabdetails($message_sent, $mobilenumber, $result->return); 

そしての定義を変更しますgrabdetailsもステータスを受信し、DB挿入に使用します。

+0

方向をありがとう、私はそれを試してみましょう。外出先で更新されます。 @trajchevska –

関連する問題