我有一个函数从$ _POST函数接收数组,然后使用索引和包含在索引中的值来创建SQL。我的问题是,我可以让函数正确地回显SQL,但我无法创建一个变量。我的作用是低于使用变量创建SQL
function createcontactsArray($sql,Array $contactsArray){
//array has already been cleaned from sql injections
//delete null variables and the value of the submit button
foreach ($contactsArray as $key => $value) {
if($value == ""||$value=="continue") {
unset($contactsArray[$key]);
}
}
echo "INSERT INTO users(";
//create list of tables to use in the database
foreach ($contactsArray as $key => $value) {
if ($value == end($contactsArray)) {
echo $key;
} else {
echo $key.",";
}
}
echo ') VALUES (';
//create list of tables to use in the database
//$newcontactsArray = array_values($contactsArray);
foreach ($contactsArray as $key => $value) {
if ($value == end($contactsArray)) {
echo '"'.$value.'"';
} else {
echo '"'.$value.'"'.",";
}
}
echo ');';
}
如果您运行此脚本,并把它传递例如$contacts = array("name"=>"Peter griffin","town"=>"Quahogn");
关联数组它将输出以下INSERT INTO users (name,contacts) VALUES ("Peter griffin","Quahog")
。不过,我想要的功能创建一个SQL像$sql = INSERT INTO users (name,contacts) VALUES ("Peter griffin","Quahog")
,以便输出我只是说echo $sql;
谢谢。
@ PLB谢谢。这实际上起作用。你是个救世主。 – sammyukavi
不客气。在这种情况下,你应该接受这个答案。 – Leri