Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2020, 14:45   #1
Sereban
Новичок
Джуниор
 
Регистрация: 27.04.2020
Сообщений: 1
По умолчанию Подготавливаемый запрос PHP

Всем привет. Помогите, пожалуйста, разобраться с корректностью записи кода.
1. там ли htmlspecialchars и он ли должен быть для экранирования?
2. синтаксические ошибки в написанном prepare()?

function insert($name, $desc, $year, $rating, $poster, $category_id) {
$mysqli = new mysqli('localhost', 'root', '', 'kinomonster');
if ($mysqli->connect_errno) {
printf('Connect failed: ' . $mysqli->connect_error);
exit();
}

/* instead 5,6,7 strings
if ($mysqli->connect_errno) {
die('Connect failed: ' . $mysqli->connect_errno);
}*/

$mysqli->set_charset('utf8');

/*$query = "INSERT INTO movie VALUES(null, '$name', '$desc', '$year', '$rating', '$poster', Now(), '$category_id')";*/
$stmt = htmlspecialchars($mysqli->prepare('INSERT INTO movie (null, name, desc, year, rating, poster, Now(), category_id) VALUES (?,?,?,?,?,?)'));
$result = false;
if($mysqli->query($query)) {
$result = true;
}
return $result;
}

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


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

foreach ($xml as $movie_key => $movie) {
$title = $movie->title_russian;
$description = $movie->description;
$year = $movie->year;

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

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


$stmt -> bind_param('ssidsi', null, '$name', '$desc', '$year', '$rating', '$poster', Now(), '$category_id');
$stmt -> execute();

insert($title, $description, $year, $rating, $post, 1);
}

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

СПАСИБО!
Sereban вне форума Ответить с цитированием
Старый 27.04.2020, 21:19   #2
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,455
По умолчанию

Ну для начала, есть кнопочка код для оформления кода.
А по коду, естественно не верно, у вас там неверно не только htmlspecialchars, а почти везде.
Посмотрите на оф сайте доки, по работе с подготовленными запросами, посмотрите как передаются переменные и чем отличаются одинарные ковычки от парных.
uberchel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
приложение Weather, делаю запрос оп всем параметрам, которые были указанны на сайте, но запрос не выполняется MustafaDzhemadin Помощь студентам 2 19.11.2019 00:14
SQL запрос в php - запрос в базу данных так, чтобы еще возвращалось значение, сколько строк затронуто volni PHP 29 16.09.2019 11:49
Запрос на выборку и отчет на этот запрос Camelot_2012 Microsoft Office Access 2 21.12.2011 16:48
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 12:50