Получая доступ к моей базе данных, я заставляю пользователя заполнять форму, и на целевой странице публикуемые значения используются в результирующем запросе MySQL.
$query = mysql_query("SELECT pass FROM database WHERE user='$_POST[user]'");
Однако по тем или иным причинам MySQL не нравится, когда я использую переменную $ _POST в команде, и он работает, только если я определил (например) $user = $_POST['user'];
, а затем поместил $ user непосредственно в SQL команда.
С другой стороны, я могу использовать значения $ _POST в операторах INSERT, где конкретные имена столбцов не требуются:
$query = mysql_query("INSERT INTO database VALUES ('foo', 'bar', '$_POST[user]'");
Если я попытаюсь использовать оператор INSERT, в котором определены атрибуты (например, user='foo'
), то возникнет та же проблема.
Что я делаю не так в своем запросе SQL, из-за которого команда выдает ошибку при запуске, но работает с определенным методом форматирования команды INSERT?
Надеюсь, это не «неудача, похоже, вам нужно назначить все свои опубликованные значения». Хех.