implode函数返回一个附加值

时间:2012-11-15 13:04:48

标签: php

所以我有:

$input=array($fname,$lname);

然后我使用:

$valueString = join(",",$values);
    echo $valueString;

如果我输入$fname = a and $lname = f 然后我收到:

a,fa,f

不知道为什么我会得到'fa'值以及如何编辑我的代码所以我只得到了一个,f

对于这个糟糕的问题道歉,虽然这会更简单

这是函数;

 function insert($coloumn, $values, $table)
{

    $valueString = join(",",$values);
    echo $valueString;
    $insert = "INSERT INTO $table ($coloumn)
        VALUES ($valueString)";
    //$query = $this->dbLocalhost->query($insert)
    //or die("could not insert:".mysql_error());

    if($this->dbLocalhost->query($insert))
    {
    header('Location: blah.php');
    }

}

这是输入的页面:

   <?php
session_start();
require_once("database.php");
$db = new Database();
$table = "tables";
$coloumn = "firstname, lastname";
if(isset($_POST['Add']))
{

    $fname = $_POST['firstname'];
    $lname = $_POST['lastname'];



    $input=array($fname,$lname);

    $db->emptyCheck($coloumn, $input, $table);



}
?>
<html>
    <head>
        <title>Add new Record</title>
    </head>
    <body>
        <br><br><br><br><br>
        <div id ="formAlign" align="center">
        <form action="" method ="post">
            <label for="firstname"> First Name:</label>
            <input type ="text" name="firstname">
            <label for="lastname"> Last Name:</label>
            <input type="text" name="lastname">

            <input type="submit" name="Add">
        </form>
        </div>
    </body>
</html>

澄清

$db->emptyCheck($coloumn, $input, $table);

导致:

$this->insert($coloumn, $values, $table);

被召唤。

1 个答案:

答案 0 :(得分:4)

implode()运行正常。您输出的结果为implode()两次。

'a,f' . 'a,f' = 'a,fa,f'

注意:我鼓励使用root功能而不是别名。 (例如implode()join()