Parse error: syntax error, unexpected '[', expecting ')' ini/code.php on line 3
$url = $_GET['url'];
$post = $pdo->prepare('SELECT * FROM post WHERE url = ?');
$post->execute([$url]);
$game = $post->fetch();
$views = $pdo->prepare('UPDATE post SET views=views+1 WHERE url = ?');
$views->execute([$url]);
Роман: лучше смените хостера. 5.2 - это уже очень-очень-очень старая версия. Если у вас старый код, можете конечно попробовать длинный синтаксис для массивов, но большинство современных фреймворков и библиотек просто откажутся на таком старье работать. Ищите лучше 5.4.
Я что-то не въехал, а почему значения функции execute передаются в виде [$url]? Это такие новые штуки в PHP 5.4? Извините за оффтоп, но я просто выше 5.3~ никогда не поднимался и стало интересно. Или же это еще было в старых версиях и я просто неуч?
Как по мне - малополезное улучшение. Нет, конечно $v = [1, 2, 3]; выглядит симпатичнее, чем $v = array(1, 2, 3); , но... глядя на array() я даже с пьяных глаз не запутаюсь и соображу, что это таки массив, а не что-то еще.
P.S. Кто помнит что означает префикс lpsz у переменной lpszSomeValue - меня поймет.
Arris: $post->execute([$url]); То есть в функцию передается массив? Я запутался в такой конструкции. Раз $url = $_GET['url'];, то ей просто передается значение из массива $_GET. В общем я полностью запутался.