2013-06-05 4 views
0

Salut ici j'ai un problème avec ce script ci-dessus ... Il fait la chose mais retourne erreur .. il fait des modifications à la base de données correctement, mais en retournant Erreur ... Ai-je me trompe quelque part?Php MySql erreur inconnue

$result = mysql_query(
    "INSERT INTO student (fullname, username, password, group_id) 
    VALUES ('$fullname', '$username', '$password', '$group_id')" 
); 

if ($result == 'true'){ 

    $caturi = $group_id; 
    if (isset($_POST['subject'])) { 

     foreach ($_POST['subject'] as $cat) { 
      $values[] = sprintf (
       "(%d, '%s')", 
       intval($cat), 
       mysql_real_escape_string($caturi) 
      ); 
     } 
     $result2 = "INSERT INTO list (subject_a, group_a) 
        VALUES " . join(',', $values); 
     mysql_query($result2); 

    } 

    echo '<p align="center" style="color:#ccc;">Success...</p>'; 
} 
else{ 
    echo "Error..."; 
} 
+1

Vous devriez essayer de voir si vous avez fait un MySQL en utilisant 'mysql_error()' –

+0

S'il vous plaît pourriez-vous changer 'echo "Erreur ..."' 'd'erreur echo ». .. ". mysql_error(); '. Cela vous donnera quelques informations sur l'erreur. – n00dle

Répondre

4

mysql_query() retourneraient true booléenne si elle est exécutée avec succès, pas une chaîne.

Par conséquent, vous devez changer

if ($result == 'true')

à

if ($result == true) ou moins - if ($result)


S'il vous plaît ne pas utiliser mysql_* fonctions, parce qu'ils sont dépréciées à partir de PHP 5.5. 0

Utilisez PDO ou MYSQLi au lieu

+0

Votre première correction ne devrait pas avoir les guillemets autour de 'true' (je pense que c'était une faute de frappe étant donné le texte d'accompagnement). – n00dle

+0

oui c'était, merci @ n00dle, je l'ai réparé – Nikola

+0

+1 pour la réponse. Je vous aurais encore +1 si je pouvais pour le commentaire concernant l'utilisation des fonctions déconseillées! – n00dle