в данном запросе должно было вернуться не Шерсть, а 100% полиэстер
SELECT IF( !('100% полиэстер'), '100% полиэстер', 'NULL' )
SELECT IF( ! 100, '100% полиэстер', 'NULL' )
SELECT IF( FALSE, '100% полиэстер', 'NULL' )
Null не может никак интерпретироваться.
а теперь давайте усложним, представим что вложенный запрос возвращает шерсть.
select if('шерсть', 1, 2);
сразу лишаются смысла ибо при отсутствии записи будут давать один и тот же вариант.
ибо кастинг null к boolean работать не будет
Структура таблицы oc_product_attribute
Предположу что стоит это понимать как то что NULL это специфическое значение, и для SQL и попытка привести к булеан через !(NULL) не работает;
$create_table = mysqli_query($connect, "INSERT INTO `users`(`id`, `username`, `email`, `password`, `plan`, `banned`, `avatar`, `subscribers`, `status`, `used_plan`) VALUES (NULL, '$username', '$email', '$password', 3, 'no', '$rand1', 0, 'surfer', 3)");
даже ошибку при выполнении не выводит!
error.log пустой
Вот, что я нашел: 'MySQL пытается прочитать файлы параметров в указанном выше порядке.
И чё нам с этой "весёлой картинкой" делать? Выложи всё то же, но в виде кода CREATE TABLE + INSERT INTO.
А если 5,1,5? первая? третья? обе? что-то ещё?