【发布时间】:2014-10-28 16:36:51
【问题描述】:
<?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?
编辑:
-
如果我注释掉
$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; }
有效!
【问题讨论】:
-
您在第 3 行缺少
'。$dbhost = 'x;应该是$dbhost = 'x'; -
...这可能只是一个错字。 ^^^ - 但如今,人们永远不知道。
-
500 错误 = 发生爆炸。查看服务器的错误日志以获取有关 500 的详细信息。就像 chriz 所说,您有一个错字,缺少
',这可能会导致您的脚本因致命的解析错误而彻底终止。 -
@chriz 有人急于将其作为答案,哈哈——我“从不”。编辑:是的,错字。
-
在您打开
<?php标签error_reporting(E_ALL); ini_set('display_errors', 1);后立即将错误报告添加到文件顶部,看看它是否产生任何结果。