0

所以我有:

$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);

被调用。

4

1 回答 1

4

implode()工作正常。您正在输出implode()两次的结果。

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

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

于 2012-11-15T13:07:53.353 回答