PHP скрипт, чтобы продолжить, если MySQL не удается - PullRequest
0 голосов
/ 22 ноября 2010

У меня есть этот код для приложения, над которым я работаю:

    <?php
header("Content-type: text/xml");
//Gather data and prepare query
$thequery = urlencode($_GET['s']);
$yhost = 'http://boss.yahooapis.com';
$apikey = 'xxxxxxxxxxxxxxxxxxxxxxxx';
$url = $yhost.'/ysearch/news/v1/'.$thequery.'?appid='.$apikey.'&format=xml';
//Get the results
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
$data = str_replace( array('<abstract>', '</abstract>'), array('<description>', '</description>'), $data);
$results = new SimpleXmlElement($data, LIBXML_NOCDATA);
//echo the results
echo $results->asXML();
?>

Где у меня есть эта строка: $thequery = urlencode($_GET['s']); Я хотел бы записать это в БД, но, очевидно, очень важно, чтобыXML выводится, так как я могу убедиться, что если бит mysql по какой-то причине не сработает, XML все равно будет выведен?Или я это слишком усложняю?

Ответы [ 2 ]

2 голосов
/ 22 ноября 2010

используйте ob_start () , чтобы гарантировать, что НЕТ вывода не возвращается браузеру / клиенту при выполнении манипуляций с базой данных

1 голос
/ 22 ноября 2010

Это легко решить, просто добавьте команды mysql с @ (или отключите отображение ошибок) и проверьте коды возврата:

$ret = @mysql_query($query);
if(!$ret) {
    do error handling;
} else {
    continue with something else;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...