Может ли произойти обрыв связи в момент записи нескольких товаров в БД?
Если да, то как этого можно избежать?
И стоит ли предусматривать "обработку" таких ситуаций?
Псевдо-переменная $this доступна в том случае, если метод был вызван в контексте объекта. $this является ссылкой на вызываемый объект.
Объявление свойств и методов класса статическими позволяет обращаться к ним без создания экземпляра класса. <...> Так как статические методы вызываются без создания экземпляра класса, то псевдо-переменная $this не доступна внутри метода, объявленного статическим.
isAdmin()
статическим и не используйте в нём $this.connectDb()
вместо connect()
.connect()
подключение вы положили в переменную $db
, а дальше обращаетесь к свойству $this->db
, в котором ничего не лежит. Затем в методе isAdmin()
такая же фигня: то $this->db
, то $db
.$people = array('Иван Иваныч', 'Сергей Сергеич', 'Сидор Сидорович');
// INSERT INTO `organization` (`name`) VALUES (?), (?), (?)
$query = "INSERT INTO `organization` (`name`) VALUES "
. implode(', ', array_fill(0, sizeof($people), '(?)'));
$pdo->prepare($sql)->execute($people);
$people = array(
array('Иван Иваныч', 'Москва', 23),
array('Сергей Сергеич', 'Тула', 42),
array('Сидор Сидорович', 'Псков', 30),
);
// Приводим массив к виду:
// array('Иван Иваныч', 'Москва', 23, 'Сергей Сергеич', 'Тула', 42, 'Сидор Сидорович', 'Псков', 30);
$values = array();
foreach ($people as $p) {
$values = array_merge($values, $p);
}
// Создаём строку вида (?, ?, ?)
$placeholders = '(' . implode(', ', array_fill(0, 3, '?')) . ')';
// INSERT INTO `organization` (`name`, `city`, `age`) VALUES (?, ?, ?), (?, ?, ?), (?, ?, ?)
$query = "INSERT INTO `organization` (`name`, `city`, `age`) VALUES "
. implode(', ', array_fill(0, sizeof($people), $placeholders));
$pdo->prepare($sql)->execute($values);
mysql_query() возвращает дескриптор результата запроса (resource), или FALSE в случае ошибки.
$username = htmlspecialchars($_POST['username']);
$password = htmlspecialchars($_POST['password']);
$query = mysql_query("SELECT * FROM usertbl WHERE username='".$username."' AND `password`='".$password."'");
if (!$query) {
die('Ошибка: ' . mysql_error());
}
$numrows = mysql_num_rows($query);
SELECT
`entity`.`entity_name`,
`group`.`title`,
`atr`.`attribute_name`,
`val`.`value_name`
FROM `eav_entities` as `entity`
JOIN `products` as `products` ON (`entity`.`entity_id` = `products`.`entity_id`)
JOIN `eav_attributes` as `atr` ON (`products`.`attribute_id` = `atr`.`attribute_id`)
JOIN `eav_values` as `val` ON (`products`.`value_id` = `val`.`value_id`)
JOIN `group_attributes` as `group` ON (`atr`.`group_id` = `group`.`group_id`);
может ли вредоносных код быть записан и сохранен в базе данных