当前位置: 首页 > 面试题库 >

cURL和PHP显示“ 1”

夏才
2023-03-14
问题内容

我有一个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()返回值的字符串返回,而不是直接输出。



 类似资料:
  • 我想在网站中使用Php获取Api响应(在nodejs中创建),所以为此我使用了curl,但它不起作用,我尝试了以下代码,但不起作用(显示空白页面),我错在哪里?这是我的密码

  • 问题内容: 我发现此功能确实出色(IMHO) 我唯一的问题是它不适用于https://。Anny的想法,我需要做些什么才能使https工作?谢谢! 问题答案: 快速修复,在您的选项中添加: 现在,您不知道您实际上要连接到哪个主机,因为cURL不会以任何方式验证证书。 或只是将其添加到当前函数中:

  • 问题内容: 我对PHP Curl和cookie身份验证有一些问题。 我有一个 Connector.php 文件,该文件对另一台服务器上的用户进行身份验证并返回当前用户的cookie。 问题是我想用curl认证成千上万的用户,但是一次只能认证一个用户并保存COOKIES。 Connector.php的代码是这样的: 这是认证过程: 用户输入用户名和密码: 根据先前使用登录服务保存的cookie返回有

  • 主要内容:概述,需求,安装,资源类型,PHP cURL 函数概述 PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。 libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、

  • 问题内容: 谁能告诉我如何用HTTP POST进行php curl? 我想这样发送数据: 至 我希望curl会返回类似的响应。有什么例子吗? 问题答案:

  • 我在Elasticsearch服务器上工作,并使用curl命令进行发布,在Windows命令行中获取数据。 当我尝试使用curl-xput命令发布数据时,数据将显示为正在插入。但是,当我使用curl-XGET查询回数据时,我并没有得到数据,而只得到头信息,如索引号等。请参见下面的查询和结果。