从以下两个文件中我得到输出(2000)1
但它应该只有(2000)
使用curl获取值后,附加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.")";
?>
答案 0 :(得分:14)
来自curl_setopt()
的PHP手册文档:
CURLOPT_RETURNTRANSFER - 将值设置为TRUE,将传输作为curl_exec()返回值的字符串返回,而不是直接输出。
如果没有将CURLOPT_RETURNTRANSFER
选项设置为TRUE
,则curl_exec()
的返回值将是操作的布尔值 - 1或0.为避免它,您可以将CURLOPT_RETURNTRANSFER
设置为TRUE
,如下所示:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);