2014-10-28 116 views
-1
<?php 

    $dbhost = 'xx'; 
    $dbuser = 'xx'; 
    $dbpass = 'xxxx'; 

    $conn = mysql_connect($dbhost, $dbuser, $dbpass); 
    if(! $conn) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

    mysql_select_db('url') or trigger_error("Unable to switch to the database: " . mysql_error()); 


function arr($num){ 

$ch = curl_init(); 
$r= rand (1,90); 
$url="https://www.googleapis.com/customsearch/v1?q=Gravity%20Falls%20Latest%20images&num=10&start=".$r."&safe=off&cx=x:2hdsc4__avm&filter=0&c2coff=disable&alt=json&key=x"; 

curl_setopt($ch, CURLOPT_URL, $url); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

$output = curl_exec($ch); 

curl_close($ch); 

     $a=intval($num); 
     $data = json_decode($output, true); 
     $se= $data['items'][$a]['pagemap']['cse_image'][0]['src']; 

     $query = mysql_query("SELECT `url` FROM `url` WHERE `url`='".$se."'"); 

    if (mysql_num_rows($query) != 0) 
    { 
    $rr= rand (1,10); 
    arr($rr); 
    }else{ 

     mysql_query("INSERT INTO `url`(`url`) VALUES ('".$se."')"); 
     return $se; 

     } 
} 

$rr= rand (1,10); 
echo arr($rr); 





require_once("src/facebook.php"); 

$config = array(); 
$config['appId'] = 'x'; 
$config['secret'] = 'x'; 
$config['fileUpload'] = true; 
$fb = new Facebook($config); 

$params = array(
"access_token" => "xxx", 
"message" => "", 
"url" => "".arr($rr)."", 
); 

try { 

$ret=$fb->api('/1111/photos', 'POST', $params); 
echo 'Photo successfully uploaded to Facebook Album'; 
} 
catch(Exception $e) { 
echo $e->getMessage(); 
} 
mysql_close($conn); 

?> 

我已经尝试过5到6个服务器,所有给我500 error,但是当我删除sql连接它的工作原理!我提供了所有正确的mysql信息。服务器500总是发生错误

那为什么要显示500?

编辑:

  • 如果我注释掉

    $query = mysql_query("SELECT `url` FROM `url` WHERE `url`='".$se."'"); 
    
        if (mysql_num_rows($query) != 0) 
    { 
    $rr= rand (1,10); 
    arr($rr); 
    }else{ 
    
        mysql_query("INSERT INTO `url`(`url`) VALUES ('".$se."')"); 
        return $se; 
    
        } 
    

它的工作原理!

+2

你在第3行缺少一个'''。'$ dbhost ='x;'应该是'$ dbhost ='x';' – chriz 2014-10-28 16:37:42

+1

。 ..这可能只是一个错字。 ^^^ - 但现在,人们永远不知道。 – 2014-10-28 16:38:12

+0

500错误=东西爆炸了。查看服务器的错误日志,了解关于500的详细信息,就像chriz说的那样,你有一个缺少'''的错字,这可能会导致一个致命的分析错误,彻底破坏你的脚本。 – 2014-10-28 16:39:03

回答

0

查看您的url表格。如果您只获取已存储在该表中的$se url值,则递归调用arr函数的方式有无限递归的机会。 (同样如果你得到的值会被转换为空字符串)

+0

谢谢!我解决了这个问题 – testrtq 2014-10-29 10:18:11

相关问题