Почему не работает insert?

0

Д.з. 63

В общем у меня проблема в том, что есть я хочу внести все данный (movie.xml и serials.xml). Добавляется только одна таблица ,та что стоит первая. Каждая в отдельности в таблицу mysql добавляется.

И еще удаление данных из mysql только через Операции , если через обзор (как показано в уроке) , то все изменения не применяются вообще. То есть я захожу в Операции-Очистить таблицу и все работает.

<?php

function insert($name, $desc, $year, $rating, $poster, $category_id) {
$mysqli = new mysqli('localhost', 'root', '', 'kinomonster');

if(mysqli_connect_errno()) {
print_f('Соедение не установлено');
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;
}

function insert_s($name, $desc, $year, $rating, $poster, $category_id) {
$mysqli = new mysqli('localhost', 'root', '', 'kinomonster');

if(mysqli_connect_errno()) {
print_f('Соедение не установлено');
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_movies = simplexml_load_file("xml/movies1.xml") or die("Error: Cannot create object");

//echo count($xml);

$title = null;
$post = null;
$rating = null;
$year = null;
$desc = null;

foreach ($xml_movies as $movie_key => $movie) {
$title = $movie->title_russian;
$year = $movie->year;
$desc = $movie->desc;


foreach ($movie->poster->big->attributes() as $poster_key => $poster) {
$post = $poster;
}

if($movie->imdb) {
$rating = $movie->imdb->attributes()['rating'];
} else {
$rating = null;
}

insert($title, $desc, $year, $rating, $post, 1);

}

echo "<pre>";
print_r($xml_movies);
echo "</pre>";


$xml_serials = simplexml_load_file("xml/serials.xml") or die("Error: Cannot create object");


$title = null;
$post = null;
$rating = null;
$year = null;
$title_orignl = null;

foreach ($xml_serials as $movie_key => $movie) {
$title = $movie->title_russian;
$year = $movie->year;
$title_orignl = $movie->title_original;


foreach ($movie->poster->big->attributes() as $poster_key => $poster) {
$post = $poster;
}

if($movie->imdb) {
$rating = $movie->imdb->attributes()['rating'];
} else {
$rating = null;
}

insert_s($title, $title_orignl, $year, $rating, $post, 2);

}

echo "<pre>";
print_r($xml_serials);
echo "</pre>";

?>
php
mysql

2 ответов

0

Все действия описанные в примере выполнены были , до того как был задан вопрос. Но там только один файл xml. И когда у меня один файл все работает без проблем.
И да , Id Primary key, автоинкремент

Вопрос в том как написать код чтобы 2 файла одновременно вставились . 

1
И еще удаление данных из mysql только через Операции

Когда создавали таблицу, поле id точно как в уроке с primary key и автоинкрементом?

Тут есть и дамп базы от преподавателя и исходный код как разворачивать:

https://fructcode.com/ru/qa/ne-dobavlaetsa-zapis-iz-xml-v-bd-cto-delau-nepravilno-ipmigv/

Sign up or Log in to write an answer