я не к тому чтоб ты шел курить мануалы на неделю.
в пдо разобраться займет полчаса от силы, по примерам.
а дальше пофиксить твой код будет совсем уже просто.
65536: лично у меня в голове парсер кода работает примерно так, когда видит присваивание с тернарным оператором:
$x = isset($x) ? $x : $default;
присваиваем переменной $x значение, которое вернет тернарный оператор, в данном случае это либо $x, если переменная определена, либо $default в противном случае.
главное в этой строке, суть ее - мы присваиваем значение переменной $x.
и твой вариант:
isset($x) || $x = 123;
выражение вернет true, если $x определена, либо присвоит ей значение 123 и вернет результат оператора присваивания, то есть сам $x.
а куда вернет, зачем?
суть строки размывается, поэтому не надо так делать.
65536: скобки надо во имя читаемости и защиты от невнимательности.
тернарный не то чтобы идеал, просто распространенная конструкция, читается достаточно легко, "длиннее печатать" в настоящее время вообще не аргумент.
что именно не знаешь?