Я потерял с этой ошибкой:Catchable фатальная ошибка Объект класса DOMDocument не может быть преобразован в строку
Catchable fatal error Object of class DOMDocument could not be converted to string
Это мой PHP код:
<?php
require_once('includes/mysqlConnect.php');
require_once('includes/utility.php');
//calling utility
$utility = new Utility();
//Creating a connection
$connection= new mySQL();
$connection->connect();
$getContent= file_get_contents('http://www.example.com/');
//echo $getContent;
//create a new DOMDocument Object
$doc= new DOMDocument();
//load HTML into DOMDoc
libxml_use_internal_errors(true);
$doc->loadHTML($getContent);
$utility->removeElementsByTagName('script', $doc);
$utility->removeElementsByTagName('style', $doc);
$utility->removeElementsByTagName('link', $doc);
echo $doc->saveHTML();
//Insert HTMl to DB
try
{
$result=$connection->db_query("CALL finalaggregator.insert_html('$doc')");
if ($result==0){
echo "<span style='color:red;'>Error! Data Saving Processes Unsuccessful</span>";
}
else {
echo "<span style='color:green;'>Data Successfully Saved!</span>";
}
}
catch (Exception $e){
echo "<span color='color:red;'>Error in Storing Data! Please Check Store Procedure.</span>";
}
?>
Но всегда в конечном итоге с показом
DOM Document could not be converted to string on line 29
Я хочу сохранить значение $ doc в базу данных.
Когда я пытаюсь вызвать хранимую процедуру из Mysql:
call finalaggregator.insert_html("<p>Testing123</p>");
он работает нормально.
Пожалуйста, помогите мне. Я новичок в php.
Моя хранимая процедура выглядит следующим образом:
CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_html`(IN HTML LONGTEXT)
BEGIN
INSERT INTO finalaggregator.site_html (html) VALUES(HTML);
END
он не показывает исходную ошибку, но переходит в «Ошибка! Процессы сохранения данных не увенчались успехом». Могу я узнать почему? – Achilles
используйте error_reporting(), чтобы узнать, что это за ошибка, и показывает «22527». Могу ли я знать, как это решить? – Achilles
Значение '22527', возвращаемое из' error_reporting() ', является BitMask, представляющим уровень сообщений об ошибках. В этом случае он представляет 'E_ALL & ~ E_DEPRECATED', поэтому все ошибки отображаются execpt для' E_DEPRECATED' и 'E_STRICT' (которые не включены в' E_ALL'). – Timo