php
  • mysql
  • sql-update
  • 2012-03-20 3 views 0 likes 
    0

    У меня есть это обновление заявление:MySQL запрос на обновление возвращения запрос пустой

    mysql_query ("UPDATE loan SET loan_reff_id='$_POST[loan_reff_id]', 
    commit_date='$_POST[commit_date]',app_loan_type='Tertiary Loan', 
    app_ln_amnt='$_POST[app_ln_amnt]', institution_name='$_POST[institution_name]', 
    app_course='$_POST[app_course]',course_length='$_POST[course_length]', 
    course_cost='$_POST[course_cost]', app_trm_pymnt='$_POST[app_trm_pymnt]', 
    app_intrst_rate=3 
    WHERE app_file_id='$_POST[app_file_id]'"); 
    

    Однако вэнь я выполнить запрос он говорит запрос пуст, то, что вы думаете, может быть проблема Im используя MySQL и PHP

    +3

    , который говорит, что «запрос пустой»? – user1027167

    +0

    @MarcusAdams дайте небольшой пример, пожалуйста? поэтому вы говорите: (пример) commit_date = '$ _ POST [commit_date]' .. должно быть? – dames

    +0

    @ user1027167 mysql Отправить сообщение: Ошибка: Запрос был пуст – dames

    ответ

    1

    Этот не пустой.
    Вы получаете такую ​​ошибку из какого-то другого запроса.

    По этой, чтобы сделать его вменяемым, по крайней мере,

    foreach($_POST as $key => $value) { 
        $_POST[$key] = mysql_real_escape_string($value); 
    } 
    $sql = "UPDATE loan SET loan_reff_id='$_POST[loan_reff_id]', 
    commit_date='$_POST[commit_date]',app_loan_type='Tertiary Loan', 
    app_ln_amnt='$_POST[app_ln_amnt]', institution_name='$_POST[institution_name]', 
    app_course='$_POST[app_course]',course_length='$_POST[course_length]', 
    course_cost='$_POST[course_cost]', app_trm_pymnt='$_POST[app_trm_pymnt]', 
    app_intrst_rate=3 
    WHERE app_file_id='$_POST[app_file_id]'"; 
    
    mysql_query($sql) or trigger_error(mysql_error()." in ".$sql); 
    
    +0

    +1 для mysql_error() и экранирования. –

    0

    Вы не должны использовать непосредственно значения $ _POST в своих запросах, вы рискуете инъекциями SQL, попробуйте использовать PDO. Что касается пустого запроса, у вас должна быть проблема с простыми/двойными кавычками и конкатенацией. Наконец, вы уверены, что не нарушаете каких-либо ограничений в своей таблице? NOT NULL и т. Д.

    +0

    можете ли вы дать небольшой пример PDO, пожалуйста, или порекомендуйте ссылку, что именно вы подразумеваете под простыми/двойными кавычками. и теперь я havnt нарушил любое из ограничений таблицы – dames

    +0

    подготовить ('UPDATE load SET loan_reff_id =: reff_id, commit_date =: commit_date WHERE app_file_id =: app_file_id'); $ req-> выполнить (массив ( \t 'reff_id' => $$ reffId, \t 'commit_date' => $ commitDate, \t 'app_file_id' => $ appFileId \t)); ?> PDO выйдет из строя для вас. Вам нужно активировать его в php.ini. – c4k

    Смежные вопросы