【问题标题】:Having trouble storing array values in mysql using php使用 php 在 mysql 中存储数组值时遇到问题
【发布时间】:2010-09-07 06:45:37
【问题描述】:

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

  <?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

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

【问题讨论】:

  • 我不知道为什么应该在 fname、mname 和 lname 中的值在用户名字段中: call compactproc('a+b+c', 'a' , 'a', '', '', 'a', '创建')
  • $temp=explode('/',$fulnem); 之后尝试var_dump($fulnem, $temp);。它输出什么?

标签: php mysql arrays


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您可能需要使用空格 而不是 / 来爆炸:

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

    【讨论】:

      【解决方案3】:

      尝试一些错误检查

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

      希望它有所帮助,我遇到了同样的问题,添加这个小 sn-p 解决了我的问题。直接取自 W3school。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多