8.3 Работа с XML. Запишем данные из XML в базу
есть проблема
<?php
function insert($name, $desc, $year, $rating, $poster, $category_id) {
$mysqli = new mysqli('localhost', 'mysql', 'mysql', 'test2');
if (mysqli_connect_errno()) {
print_r('соединение не установлено');
exit();
}
$mysqli->set_charset('utf8');
$query = "INSERT INTO movie VALUES (null, '$name', '$desc', '$year', '$rating', '$poster', Now(), '$category_id')";
$result = false;
if ($mysqli-> query($query)) {
$result = true;
}
return $result;
}
$xml = simplexml_load_file("xml/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) {
// echo $movie->title_russian.'<br>'; это равно строке ниже
$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) {
// echo $movie->imdb->attributes()['rating'];
$rating = $movie->imdb->attributes()['rating'];
}
else {
$rating = null;
}
insert($title, $title_orign, $year, $rating, $post, 1);
}
echo "<pre>";
print_r ($xml);
echo "</pre>";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
при добавлении в базу данных
происходит добавление фильмов только с рейтингом
там где рейтинг не указан они не вносятся в базу данных
тоесть правило
else {
$rating = null;
}
почему то неработает
хотя если указать else {
$rating = 0;
}
то все фильмы вносятся в базу данных хоть и 0 рейтингом.
как сделать чтобы правиль
else {
$rating = null;
}
заработало