2014-12-03 3 views
1
<?php 
    $con=mysql_connect("localhost","root",""); 
    mysql_select_db("google",$con); 

    $sql="SELECT urlname FROM url WHERE id=12"; 
    $url=mysql_query($sql); 
    $result = get_web_page($url); 

    if ($result['errno'] != 0) { 
     echo "errror"; 
    } 

    if ($result['errmsg'] != 200) { 
     echo "error"; 
    } 

    $page = $result['content']; 
    while ($row = mysql_fetch_array($page)) { 
     printf($row[0]); 
    } 

    function get_web_page($url1) 
    { 
     $options = array(
      CURLOPT_RETURNTRANSFER => true,  // return web page 
      CURLOPT_HEADER   => false, // don't return headers 
      CURLOPT_FOLLOWLOCATION => true,  // follow redirects 
      CURLOPT_ENCODING  => "",  // handle all encodings 
      CURLOPT_USERAGENT  => "spider", // who am i 
      CURLOPT_AUTOREFERER => true,  // set referer on redirect 
      CURLOPT_CONNECTTIMEOUT => 120,  // timeout on connect 
      CURLOPT_TIMEOUT  => 120,  // timeout on response 
      CURLOPT_MAXREDIRS  => 10,  // stop after 10 redirects 
     ); 

     $ch = curl_init($url1); 
     // create a new cURL resource 
     //$ch = curl_init(); 

     // set URL and other appropriate options 
     curl_setopt($ch, CURLOPT_URL,$url1); 
     curl_setopt($ch, CURLOPT_HEADER, 0); 

     curl_setopt_array($ch, $options); 
     $content = curl_exec($ch); 
     $err  = curl_errno($ch); 
     $errmsg = curl_error($ch); 
     $header = curl_getinfo($ch); 
     curl_close($ch); 

     $header['errno'] = $err; 
     $header['errmsg'] = $errmsg; 
     $header['content'] = $content; 
     return $header; 
    } 
?>      

Вот мой код php и когда я эхо $ страница Я получаю следующее предупреждение и ошибку, а также не получаю никаких данных из запрошенного URL-адреса.Не удалось получить данные из URL-адреса с помощью cUrl?

предупреждения:

Внимание: curl_init() ожидает параметр 1, чтобы быть строкой, ресурс приведены в C : \ XAMPP \ HTDOCS \ CSE391 \ curl.php на линии 36

Внимание: curl_setopt_array(): поставляется аргумент не является допустимым локон дескриптор ресурса в C: \ XAMPP \ HTDOCS \ CSE391 \ curl.php на линии 37

Внимание: curl_exec() ожидает параметр 1, чтобы быть ресурсом, приведены в нуль C : \ XAMPP \ HTDOCS \ CSE391 \ curl.php на линии 38

Внимание: curl_errno() ожидает параметр 1, чтобы быть ресурсом, NULL дано в C: \ XAMPP \ HTDOCS \ CSE391 \ curl.php на линии 39

Внимание: curl_error() ожидает параметр 1 чтобы быть ресурсом, приведены в нуль C : \ XAMPP \ HTDOCS \ CSE391 \ curl.php на линии 40

Внимание: curl_getinfo() ожидает параметр 1, чтобы быть ресурсом, нуль дано в C: \ XAMPP \ HTDOCS \ CSE391 \ curl.php в строке 41

Предупреждение: curl_close() ожидает, что параметр 1 будет ресурсом, нуль приведен в C : \ XAMPP \ HTDOCS \ CSE391 \ curl.php на линиях 42 ошибки

+0

Я думаю, что вы должны позволить Curl в PHP см этот вопрос: http://stackoverflow.com/questions/1347146/how-to-enable-curl-in -php-xampp Также: используйте mysqli или PDO – NadirDev

+0

Фактически я включил его, но получаю тот же результат –

+0

Вам нужно получить результат SQL-запроса. Теперь вы просто передаете ресурс. Не значение – DarkBee

ответ

1

mysql_query возвращает ResultSet объект, а не данные результатов. вам нужно, например, указать fetch_array() из объекта resultet в каждой строке результата; что результат строка будет иметь URL

см http://php.net/manual/en/function.mysql-fetch-array.php

+0

Да, я сделал это, но все же имею предупреждения и ошибки –

+0

, если вы это сделали, отредактируйте свой вопрос, чтобы показать, какой код вы использовали. Мы можем только отлаживать код, который мы можем видеть. – Andras

+0

Это правильно. OP не извлекает данные из результата запроса. На данный момент это всего лишь ресурс – DarkBee

Смежные вопросы