所以我有:
$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);
被召唤。
答案 0 :(得分:4)
implode()
运行正常。您输出的结果为implode()
两次。
'a,f' . 'a,f' = 'a,fa,f'
注意:我鼓励使用root功能而不是别名。 (例如implode()
与join()
)