PHP 62 УРОК
После того как поместил данные в insert, в браузере выдает такую ошибку
Notice: Undefined variable: mysqli in C:\xampp\htdocs\kinomonster\index.php on line 9
Fatal error: Uncaught Error: Call to a member function set_charset() on null in C:\xampp\htdocs\kinomonster\index.php:9 Stack trace: #0 C:\xampp\htdocs\kinomonster\index.php(44): insert(Object(SimpleXMLElement), Object(SimpleXMLElement), Object(SimpleXMLElement), NULL, Object(SimpleXMLElement), 1) #1 {main} thrown in C:\xampp\htdocs\kinomonster\index.php on line 9
Код писал как на видио
<?php
function insert($name, $desc, $year, $rating, $poster, $category_id) {
$mysgli = new mysqli('localhost', 'root', '', 'kinomonster');
if(mysqli_connect_errno()) {
print_f("соединение не установлено");
exit();
}
$mysqli->set_charset('utf8');
$query = "INSERT INTO movie VALUES(null, '$name', '$desc', '$rating', '$poster', now(), 'category_id')";
$result = false;
if($mysqli->query($query)) {
$result = true;
}
return $result;
}
$xml = simplexml_load_file("xml_files/movies.xml") or die("error: Cannot Create object");
/*echo count($xml);*/
$title = null;
$title_orign = null;
$post = null;
$rating = null;
$year = null;
foreach ($xml as $movie_key => $movie) {
$title = $movie->title_russian;
$title_orign = $movie->title_original;
$year = $movie->year;
foreach ($movie->poster->big->attributes() as $poster_key => $poster) {
$post = $poster;
}
if($movie->imdb) {
$rating->$movie->imdb->attributes()['rating'];
}
insert($title, $title_orign, $year, $rating, $post, 1);
}
echo "<pre>";
print_r($xml);
echo "</pre>";
?>
2 ответов
Судя по всему, у вас ошибка в названии переменной. Вы написали "$mysgli", а должно быть "mysqli".
$mysgli = new mysqli('localhost', 'root', '', 'kinomonster'); // здесь ошибка
Да верно там я допустил ошибку, это не внимательность и еще, вместо xml_files нужно писать просто xml