2013-11-03 9 views
7

Da dopo due file che sto ottenendo uscita (2000)1 ma dovrebbe solo (2000)valore Extra 1 è aggiungendo con la risposta ricciolo

Dopo aver ottenuto valore con ricciolo in più 1 è aggiungendo, ma perché?

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.")"; 
?> 

risposta

13

Dalla documentazione manuale di PHP per curl_setopt():

CURLOPT_RETURNTRANSFER - Impostare il valore TRUE per il ritorno il trasferimento come una stringa del valore di ritorno di curl_exec() invece di emetterlo direttamente.

Se non si imposta CURLOPT_RETURNTRANSFER opzione per TRUE, allora il valore restituito da curl_exec() sarà il valore booleano dell'operazione - 1 o 0. Per evitarlo, è possibile impostare CURLOPT_RETURNTRANSFER-TRUE, come qui di seguito :

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

Mi sono imbattuto in questo problema in cui stavo provando a fare un 'json_decode()' da una risposta 'curl_exec'; Ho continuato a ottenere 'bool (true)' come risultato. Questa opzione ha cancellato quell'errore e mi ha dato il JSON che mi aspettavo. –

Problemi correlati