我遇到這個問題,每當我嘗試獲取網址(從一個MySQL數據庫),然後使用cURL向URL發佈請求,它只會發佈其中一個網址。如果這改變了我的數據庫,我總共有11個URL。cURL不張貼到來自數據庫的幾個網址
這裏是我的代碼:
$result = mysql_query ("SELECT * FROM urls");
while ($row = mysql_fetch_array($result)) {
$ch = curl_init();
$url = $row['url'];
curl_setopt($ch, CURLOPT_URL,$url); // set url to post to
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // allow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_TIMEOUT, 0); // times out after Ns
curl_setopt($ch, CURLOPT_POST, 1); // set POST method
curl_setopt($ch, CURLOPT_POSTFIELDS, "user=test"); // add POST fields
$result = curl_exec($ch); // run the whole process
curl_close($ch);
echo $result;
};
在此先感謝。
只是爲了說明一下,您試圖通過POST將「user = test」發送到您從數據庫中提取的每個URL中? – JCSickmeyer 2013-02-28 21:09:10
@JCSickmeyer - 是的,這是正確的。 – HHH 2013-02-28 21:19:20
爲了提高效率,您不必在每次迭代中關閉/重新打開卷曲。你可以在循環中簡單地調用CURLOPT_URL和curl_exec()。捲曲手柄可以重複使用。 – 2013-02-28 21:19:37