2013-11-03 45 views
7

附加來自以下兩個文件我越來越輸出(2000)1但它應該只(2000)額外價值1與捲曲響應

使用中獲得價值後捲曲額外1追加,但爲什麼呢?

balance.php

<?php 
$url = "http://localhost/sms/app/user_balance.php"; 
$ch = curl_init(); 
curl_setopt($ch,CURLOPT_URL, $url); 
curl_setopt($ch,CURLOPT_POST, 2); 
curl_setopt($ch,CURLOPT_POSTFIELDS, "id=2&status=Y"); 
$result = curl_exec($ch); 
curl_close($ch); 
echo $result; 
?> 

user_balance.php

<?php 
$conn = mysql_connect("localhost","root",""); 
mysql_select_db("sms",$conn); 
$user_id = $_REQUEST["id"]; 
$sql = "SELECT * FROM user_sms WHERE user_id='$user_id'"; 
$rec = mysql_query($sql); 
if($row = mysql_fetch_array($rec)) { 
    $balance = $row["user_sms_balance"]; 
} 
echo "(".$balance.")"; 
?> 

回答

13

從PHP手冊文檔curl_setopt()

CURLOPT_RETURNTRANSFER - 將值設置爲TRUE,以回報該傳輸作爲curl_exec()的返回值的字符串而不是直接輸出。

如果不CURLOPT_RETURNTRANSFER選項設置爲TRUE,然後從curl_exec()的返回值將是操作的布爾值 - 1或0。爲了避免它,你可以設置CURLOPT_RETURNTRANSFERTRUE,如下圖所示:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
+0

我遇到了這個問題,我試圖從'curl_exec'響應中執行'json_decode()';作爲我的結果,我不斷得到'布爾(真)'。這個選項清除了這個錯誤,並給了我期待的JSON。 –