что не так с этим запросом? (Баз данных) - PullRequest
0 голосов
/ 20 января 2010
$sql = "UPDATE site_ayarlar 
 SET site_baslik = '$_POST[site_baslik]',
  site_slogan = '$_POST[site_slogan]', 
  meta_desc = '$_POST[meta_desc]',
  meta_key = '$_POST[meta_key]',
  meta_auth = '$_POST[meta_auth]',
  meta_copy = '$_POST[meta_copy]', 
  meta_robots = '$_POST[meta_robots]' ";

И ошибка:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

Не важно, проблема была решена.

Ответы [ 6 ]

13 голосов
/ 20 января 2010

Дополнительная цитата здесь:

'$_POST['meta_auth]'

И, конечно же:

image

2 голосов
/ 20 января 2010

Попробуйте так,

    $site_baslik = mysql_real_escape_string($_POST['site_baslik']);
    $site_slogan = mysql_real_escape_string($_POST['site_slogan']);
    $meta_desc = mysql_real_escape_string($_POST['meta_desc']);
    $meta_key = mysql_real_escape_string($_POST['meta_key']);
    $meta_auth = mysql_real_escape_string($_POST['meta_auth']);
    $meta_copy = mysql_real_escape_string($_POST['meta_copy']);
    $meta_robots = mysql_real_escape_string($_POST['meta_robots']);

    $sql = "UPDATE site_ayarlar 
        SET site_baslik = '$site_baslik' ,
          site_slogan = '$site_slogan', 
          meta_desc = '$meta_desc',
          meta_key = '$meta_key',
          meta_auth = '$meta_auth',
          meta_copy = '$meta_copy', 
          meta_robots = '$meta_robots' 

        WHERE some_condition
    ";

и если вы не поставите условие where, вы обновите все ваши базы данных с тем же набором данных

0 голосов
/ 20 января 2010

Просто мысль. Я никогда не использую $ _POST, заключенный в одинарные кавычки.

0 голосов
/ 20 января 2010

если вы используете переменные-массивы внутри строки в двойных кавычках, вам нужно заключить их в {} следующим образом: {$ _POST ['meta']}.

Но, как указал Дженсграм, этот подходчрезвычайно уязвимы для инъекций.

0 голосов
/ 20 января 2010

$ sql = "ОБНОВЛЕНИЕ site_ayarlar SET site_baslik = '$ _POST [site_baslik]', site_slogan = '$ _POST [site_slogan]', meta_desc = '$ _POST [meta_desc]', meta_key = '$ _POST [meta_key]', meta_auth = '$ _POST [meta_auth]', meta_copy = '$ _POST [meta_copy]', meta_robots = '$ _POST [meta_robots]' ";

0 голосов
/ 20 января 2010

$_POST[key_name] должно быть ".$_POST['key_name']."

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...