$ _POST関数から配列を受け取り、そのインデックスに含まれるインデックスと値を使用してSQLを作成する関数があります。私の問題は、SQLを正しくエコーする関数を得ることができますが、変数を作成できません。このスクリプトを実行し、それを連想配列を渡すと私の関数は、それはたとえば$contacts = array("name"=>"Peter griffin","town"=>"Quahogn");
ため変数を使用して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 ');';
}
下に次のINSERT INTO users (name,contacts) VALUES ("Peter griffin","Quahog")
出力されますです。しかし、私は$sql = INSERT INTO users (name,contacts) VALUES ("Peter griffin","Quahog")
のようなSQLを作成する関数をしたいので、出力するために私はちょうどecho $sql;
と言う。
@ PLBありがとうございます。これは実際に動作します。あなたは救い主です。 – sammyukavi
ようこそ。この場合、この答えを受け入れるべきです。 – Leri