Как написать в новой таблице базы данных в дзен корзину - PullRequest
0 голосов
/ 22 сентября 2010

Я создал новую таблицу базы данных с именем «таблица».Теперь я пытаюсь следующий код для записи данных в поля:

if (isset ($_POST['request'])) {

$F1 = $_POST['F1'];
$F2 = $_POST['F2'];
$F3 = $_POST['F3'];
$F4 = $_POST['F4'];

$sql_data_array = array('F1' => zen_db_prepare_input($_POST['F1']),
'F2' => zen_db_prepare_input($_POST['F2']));

zen_db_perform('table', $sql_data_array);

$db->Execute("insert into requests (F1, F2, F3, F4) values ('".$F1."', '"$F2."', '".$F3."', '".$F4. "')");
}

Когда я нажимаю кнопку отправки, я получаю пустую страницу.Это означает, что что-то не так с моим кодом.Где ошибка?Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 20 февраля 2011

Пара вещей:

  1. Не просто принимать опубликованные значения; позаботьтесь о том, чтобы вас не взломали.

    $F1 = zen_db_prepare_input(zen_sanitize_string($_POST['F1'])); 
    
  2. «таблица» на самом деле не очень хорошее название для таблицы. Вероятно, это зарезервированное слово, поэтому вы действительно хотите назвать его (скажем) "fawad_table".
    Если вы затем сделаете это:

    zen_db_perform('fawad_table', $sql_data_array);
    

    будет работать ТОЛЬКО, если вы не используете префикс в файле configure.php. Если вы это сделаете, это не удастся. Лучше всего создать

    ./includes/extra_datafiles/special_tables.php
    

    , что делает что-то вроде

    define('TABLE_FAWAD', DB_PREFIX . 'fawad_table');
    

    тогда вы можете использовать

    zen_db_perform(TABLE_FAWAD, $sql_data_array);
    

и будет работать с префиксом или без него.

...