2010-09-07 3 views
0

J'essaye d'exploser une chaîne dans un tableau. Un nom complet à exploser dans prénom, middlename et nom de famille.J'ai du mal à stocker des valeurs de tableau dans mysql en utilisant php

<?php 

    include('conn.php'); 

    $un=$_POST['uname']; 
    $pw=$_POST['pw']; 
    $fulnem=$_POST['fullnem']; 
    $temp=explode('/',$fulnem); 

    $email=$_POST['email']; 

    $method="creates"; 





    $sql="call compactproc('$un', '$pw', '$temp[0]', '$temp[1]', '$temp[2]', '$email', '$method')"; 
    $result=mysql_query($sql); 
    if(!$result){ 
    echo "error!"; 

    } 



    ?> 

Voici le corps de la procédure:

BEGIN 

IF actions="creates" THEN 
INSERT INTO admin_table(Uneym, Pwerd, Firstname, Middlename, Lastname, Email) VALUES(usrname, psword, frstname, midname, lstname, imail); 
END IF; 
END 

Seul le prenom est stocké dans la base de données. Pourquoi est-ce? Le nom et le nom de famille ne sont pas stockés et j'obtiens l'erreur de décalage non définie sur la ligne de la requête sql. pouvez-vous me dire quel est le problème ici.

+0

pouvez-vous 'echo $ sql'? – aularon

+0

Je ne sais pas pourquoi les valeurs supposées être dans fname, mname et lname, sont dans le champ pour le nom d'utilisateur: call compactproc ('a + b + c', 'a', 'a', '' , '', 'a', 'crée') – user225269

+2

Essayez 'var_dump ($ fulnem, $ temp);' juste après '$ temp = explode ('/', $ fulnem);'. que sort-il? – aularon

Répondre

0

J'espère que vous ne devriez pas utiliser les guillemets simples (') dans les paramètres de compactproc d'appel.

0

Vous devrez peut-être exploser avec un espace   au lieu d'un /:

$temp=explode(' ',$fulnem); 
Questions connexes