Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Данные из XML-файла не вставились в БД! (https://javascript.ru/forum/server/76657-dannye-iz-xml-fajjla-ne-vstavilis-v-bd.html)

garrip91 30.01.2019 14:57

Данные из XML-файла не вставились в БД!
 
function insert($name, $desc, $year, $rating, $poster, $trailer, $category_id) {
		$mysqli = new mysqli('localhost', 'root', '', 'kinomonster');
		
		if (mysqli_connect_errno()) {
		printf("Соединение не установлено!", mysqli_connect_error());
		exit();
		}
		
		$mysqli->set_charset('utf8');
	
		$query = "INSERT INTO movies VALUES(null, '$name', '$desc', '$year', '$rating', '$poster', '$trailer', Now(), '$category_id')";
		
		$result = false;
		
		if ($mysqli->query($query)) {
			$result = true;
		}
		
		return $result;
		
	}
	
	$movies = simplexml_load_file("xml/movies_1.xml") or die("Error: Cannot create object"); 
	
	$title = null;
	$title_origin = null;
	$year = null;
	$rating = null;
	$post = null;
	$trailer = null;
	
	foreach ($movies as $movie_key => $movie) {
		
		$title = $movie->title_russian_english;
		$title_origin = $movie->desc;
		$year = $movie->year;
		
		foreach ($movie->poster->big->attributes() as $poster_key => $poster) {
			$post = $poster;
		}
		
		if ($movie->kinopoisk) {
			$rating = $movie->kinopoisk->attributes()['rating'];
		}
		else {
			$rating = null;
		}
		
		foreach ($movie->trailer->attributes() as $trailer_key => $trailerXML) {
			$trailer = $trailerXML;
		}
		
		if ($movie->trailer) {
			$trailer = $movie->trailer->attributes()['url'];
		}
		else {
			$trailer = null;
		}
		
		if (insert($title, $title_origin, $year, $rating, $post, $trailer, 1)) {
			echo "ДАННЫЕ УСПЕШНО ВСТАВИЛИСЬ!!!<br>";
		}
		else {
			echo "ДАННЫЕ НЕ ВСТАВИЛИСЬ!!!<br>";
		}
			
	}
	
	echo "<pre>";
	print_r($movies);
	echo "</pre>";

laimas 30.01.2019 15:34

Кто вас такому ужасу учит, автор мультиков?

Nexus 30.01.2019 15:34

Сочувствую.
http://php.net/manual/ru/mysqli.error.php
http://php.net/manual/ru/security.da...-injection.php

garrip91 30.01.2019 21:51

В продолжение диалога......
 
Я прочитал информацию по Вашим ссылкам, но так и не понял в чём заключалась именно моя ошибка...

Nexus 31.01.2019 08:39

garrip91,
Цитата:

mysqli::$error -- mysqli_error — Возвращает строку с описанием последней ошибки
Посмотрите почему данные не записываются.


Часовой пояс GMT +3, время: 15:27.