2010-09-22 2 views
0

J'ai créé une nouvelle table de base de données avec le nom 'table'. Maintenant j'essaye le code suivant pour écrire les données dans les champs:Comment écrire dans une nouvelle table de base de données dans le panier zen

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. "')"); 
} 

Quand j'appuie sur le bouton de soumission j'obtiens la page blanche. Cela signifie que quelque chose ne va pas avec mon code. Où est l'erreur? Sil te plait aide moi.

+0

Est-ce l'intégralité du code? Est-ce que vous obtenez une page blanche parce que vous ne produisez rien? Votre insertion de base de données fonctionne-t-elle? Avez-vous des erreurs? Avez-vous des erreurs en faisant 'error_reporting (E_ALL);' et 'ini_set ('display_errors', '1');' –

Répondre

0

Quelques choses:

  1. Ne prenez pas seulement les valeurs affichées; faire un peu de nettoyage sur eux pour s'assurer que vous ne serez pas piraté.

    $F1 = zen_db_prepare_input(zen_sanitize_string($_POST['F1'])); 
    
  2. "table" n'est vraiment pas un grand nom pour une table. C'est probablement un mot réservé, donc vous voulez vraiment l'appeler (disons) "fawad_table".
    Si vous le faites alors ceci:

    zen_db_perform('fawad_table', $sql_data_array); 
    

    il ne fonctionnera que si vous n'utilisez un préfixe dans votre fichier configure.php. Si vous faites cela, cela échouera. La meilleure chose est de créer

    ./includes/extra_datafiles/special_tables.php 
    

    qui fait quelque chose comme

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

    vous pouvez alors utiliser

    zen_db_perform(TABLE_FAWAD, $sql_data_array); 
    

et il fonctionnera avec ou sans préfixe.

Questions connexes