2017-04-25 5 views
0

私はmysqlテーブルからデータを収集し、php変数に挿入するwhileループを持っています。これらのphp変数は、php関数内にあるurlにパラメータとして渡されます。どうやら、urlはphp変数の値を選択していません。これで助けが必要です。コードは次のようになります。URLにphp変数を渡す方法、PHP関数内にある

<?php 
include('adodb/adodb.inc.php'); 
$link=mysql_connect("160.60.20.100","vcpm","abcd"); 
mysql_select_db("vcpm"); 

$GMT='2017-04-23 00:59'; 
$MinusOne='2017-04-23 00:00'; 

$query="SELECT fraud_id,stat_id from Hasoffers where fraud_id IS NOT NULL AND stat_datetime between '".$MinusOne."' AND '".$GMT."';"; 
$pl=mysql_query($query); 
$count=mysql_num_rows($pl); 

while($row=mysql_fetch_array($pl)) 
{ 
    $conversion_id=$row['stat_id']; 

    $fraud_category=$row['fraud_id']; 

    echo ip($conversion_id,$fraud_category).PHP_EOL; 
} 

function ip($conversion_id,$fraud_category) 
{ 
    $conversion_id= $argv[1]; 
    $fraud_category= $argv[2]; 

    $url="https://api.hasoffers.com/Apiv3/json?NetworkId=mxpresso&Target=Conversion&Method=updateMeta&NetworkToken=NETY5hP42BJX8KJlTmTQfsjTo1Rq1m&id=".$conversion_id."&data[note]=".$fraud_category; 
     echo $url; 

     // Initiate curl 
    $ch = curl_init(); 
    // Disable SSL verification 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false); 
    //Will return the response, if false it print the response 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); 
    // Set the url 
    curl_setopt($ch, CURLOPT_URL,$url); 
    // Execute 
    $result=curl_exec($ch); 
    // Closing 
    curl_close($ch); 
} 

?> 
+0

のために、このマニュアルを参照してくださいコマンドラインからPHPスクリプトにargumnentsを渡すとき の$ argvが使用されていますか? –

+1

$ conversion_id = $ argv [1]; $ fraud_category = $ argv [2]; これは何ですか? 関数内の引数を直接名前で使用することができます –

+0

url内で引数として渡すには –

答えて

0

それは

curl_setopt($ch, CURLOPT_POSTFIELDS, 
     "NetworkId=mxpresso&Target=Conversion&........."); 

について何を助けていますか?

+0

これは単なる野生の推測です。コメントであったはずです。 – arkascha

+0

も試していない –

0

この:

$conversion_id= $argv[1]; 
$fraud_category= $argv[2]; 

は、おそらくあなたの問題です。あなたが実際にあなたは、MySQLから関数に渡すと、それが問題だパラメータをオーバーライドしているコマンドラインsee doc

からページを呼び出すことができるようにしたいとき 配列が使用されています。

コメント両方のラインを、次のドロップ、URL正しいURL/URL変数名などを実装想定

0

をエコーし​​てみてください:[2]

$conversion_id= $argv[1]; 
$fraud_category= $argv[2]; 

の$ ARGV [1]/$ ARGV指定したパラメータから取得した値を上書きします。

0

ip関数では、$ argv 1と$ argv [2]で$conversion_id$fraud _categoryをオーバーロードしています。あなたは

PHP argv manual

はあなたが取得しているエラーを共有することができます$ argvの使い方

関連する問題