我有一个while循环,它从mysql表中收集数据,将它们插入到php变量中。这些php变量作为参数传递给php函数中的url。显然,url不会选择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 :(得分:0)
怎么样?
curl_setopt($ch, CURLOPT_POSTFIELDS,
"NetworkId=mxpresso&Target=Conversion&.........");
有帮助吗?
答案 1 :(得分:0)
这样:
$conversion_id= $argv[1];
$fraud_category= $argv[2];
可能是你的问题。 当您希望能够从命令行see doc
调用页面时,使用$argv
数组
你实际上覆盖了从MySql传递给函数的参数,这就是问题所在。
评论两行并尝试回显网址
答案 2 :(得分:0)
假设您实现了正确的url / url变量名称等,请删除以下内容:
$conversion_id= $argv[1];
$fraud_category= $argv[2];
$ argv [1] / $ argv [2]覆盖从提供的参数中获得的值。
答案 3 :(得分:0)
在ip
函数中,您使用$ argv 1和$ argv [2]重载$conversion_id
和$fraud _category
。
从命令行将argumnents传递给php脚本时使用$ argv
请参阅此文档以了解$ argv用法