← Комьюнити

Задание 62 PHP/MySQL

Владимир Максименко6 ответов

Помогите пожалуйста ,сделал все ка в уроке но данные в базу не добавляются

<?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) or die( $mysqli->error )) {
$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>";?>


выводит ошибку

Data truncated for column 'rating' at row 1

6 ответов

1) Проверьте в phpmyadmin структуру таблицы movie поле rating, верно ли задали тип поля.

2) Проверьте какие данные передаются из xml файла в $movie->imdb->attributes()['rating'] 

student_pavX41ci3

А настройки точно правильные php?

Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0

Можно попробовать раскомментировать строчку ;max_input_vars = 10000 в php.ini. Файл php.ini можно открыть через XAMPP - config - PHP (php.ini). Раскомментировать можно убрав ; перед max_input_vars = 10000 и не забудьте перезапустить apache в XAMPP после этого.

И настройки XAMPP и PHP не меняли? Если меняли, можно попробовать переустановить XAMPP. 

Сергей Сафронов3

Как проверить 2 пункт?

попробовал другой файл, выдал такую же ошибку, но данные добавились. Попробовал удалить из БД phpmyadmin выдает ошибку и данные не удаляются.

Ошибка такая:

Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0
phpMyAdmin - Error
Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.
Владимир Максименко2

Проверить 2й пункто можно, если вывести в цикле:

echo $movie->imdb->attributes()['rating']

Из БД удалять phpmyadmin не нужно.

student_pavX41ci2

Я хочу удалить содержимое таблицы из БД, но ничего не удаляется и выводит ошибку

Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0
phpMyAdmin - Error
Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.
Владимир Максименко2

через echo выводит 5.7
5.4
6.4
6.4
8.3
7.3
8.0

Владимир Максименко2