使用php在mysql中存储数组值时遇到问题

时间:2010-09-07 06:45:38

标签: php mysql arrays

我正在尝试将字符串分解为数组。要在名字,中间名和姓氏中展开的全名。

  <?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!";

    }



    ?>

这是程序正文:

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

只有firstname存储在数据库中。为什么? midname和lastname没有存储,我在sql查询的行上得到了未定义的偏移量错误。 你能告诉我这里有什么问题。

3 个答案:

答案 0 :(得分:0)

您可能需要使用空格而不是/进行展开:

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

答案 1 :(得分:0)

我希望你不要在调用compactproc的参数中使用单引号(')。

答案 2 :(得分:0)

尝试一点错误检查

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
} 

希望有帮助,我遇到了同样的问题,添加了这个小片段即可解决我的问题。直接来自W3school。