cURL和PHP显示“ 1”

我有一个PHP脚本,可以用来从数据库读取服务器并使用cURL连接到它们。服务器以sql查询的结果作为响应。问题是每个服务器响应后的脚本显示数字1。输出看起来像这样:

服务器1:一些结果

1服务器2:一些结果

1服务器3:一些结果

1个

这是从数据库读取服务器并连接到它们的代码:

<?php

$mysql_id = mysql_connect('localhost', 'ms', 'pass');

mysql_select_db('servers', $mysql_id);

mysql_query("SET NAMES utf8");

$query = "SELECT * FROM svr";

$result = mysql_query($query);

$num = mysql_num_rows($result);

while ($data = mysql_fetch_assoc($result))

{

$server[] = $data;

}

mysql_close($mysql_id);

$i = 0;

while($i < $num) {

$dealer = $server[$i]['dealer'];

echo $dealer . "<br />";

$data = "val=a"; //just for testing

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_HTTPHEADER, array(

'Content-Type: text/html; charset=utf-8')

);

$result = curl_exec($ch);

echo $result;

$i++;

}

?>

我发现显示1时显示“ echo $ result;”。和用于创建响应的代码是这样的:

<?php

$mysql_id1 = mysql_connect('localhost', 'ms', 'pass');

mysql_select_db('servers', $mysql_id1);

mysql_query("SET NAMES utf8");

$query2 = "SELECT * FROM data";

$result2 = mysql_query($query2);

$num2 = mysql_num_rows($result2);

while ($data2 = mysql_fetch_assoc($result2))

{

$deli[] = $data2;

}

$i1 = 0;

$space = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

while ($i1 < $num2) {

echo $space . $deli[$i1]['id'] . " ";

echo $deli[$i1]['artikel'] . " ";

echo $deli[$i1]['znamka'] . " ";

echo $deli[$i1]['model'] . " ";

echo $deli[$i1]['letnik'] . " ";

echo $deli[$i1]['cena'] . " € ";

echo $deli[$i1]['zaloga'] . "<br />";

$i1++;

}

echo "<br />";

mysql_close($mysql_id1);

?>

请帮我

回答:

使用该CURLOPT_RETURNTRANSFER选项。否则,cURL将自动回显数据并返回true1通过echo 转换为)。

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

PHP.net说,

如果为TRUE,则将传输作为curl_exec()返回值的字符串返回,而不是直接输出。

以上是 cURL和PHP显示“ 1” 的全部内容, 来源链接: utcz.com/qa/408915.html

回到顶部