我只是學會了如何從POST從形式的foreach價值得到這個職位數據後:如何插入陣列到MySQL爲每個循環
foreach($_POST as $key => $value) {
echo "POST parameter '$key' has '$value'";
}
但我的問題是如何將這些數據:$關鍵$值到mysql database.Can我只是這樣做:
mysqli_query($con,"INSERT INTO tableName $key $value)
我只是學會了如何從POST從形式的foreach價值得到這個職位數據後:如何插入陣列到MySQL爲每個循環
foreach($_POST as $key => $value) {
echo "POST parameter '$key' has '$value'";
}
但我的問題是如何將這些數據:$關鍵$值到mysql database.Can我只是這樣做:
mysqli_query($con,"INSERT INTO tableName $key $value)
// Not sure how you handled your sql connexion, so I wrote a short example
$linkDB=new mysqli('localhost', 'user', 'pwd', 'db_name');
if($connectDB->connect_error) {
die('Erreur de connexion ('.$connectDB->connect_errno.'): '.$linkDB->connect_error);
exit();
}
$linkDB->set_charset('utf-8');
foreach($_POST as $key=>$value) {
/* Just to be safe, I suggest to manually escape the key,
* to avoid injections. Someone correct me if it's wrong.
*/
$key=mysqli_real_escape_string($linkDB, $key);
$stmt=$linkDB->prepare(/** @lang MySQL */
"INSERT INTO `tablename` (`$key`)
VALUES (?)");
$stmt->bind_param('s', $value);
if($stmt !== false) {
$stmt->execute();
}
$stmt->close();
}
$linkDB->close();
如果你想使用所有鍵/值在後一個查詢,然後做這樣的吧。
$queryCols="";
$queryVals="";
foreach($_POST as $key=>$value) {
$queryCols.="`".mysqli_real_escape_string($linkDB, $key)."`,";
$queryVals.="'".mysqli_real_escape_string($linkDB, $value)."',";
}
$queryCols=preg_replace("/(,)$/", "", $queryCols);
$queryVals=preg_replace("/(,)$/", "", $queryVals);
$stmt=$linkDB->prepare(/** @lang MySQL */
"INSERT INTO `tablename` ($queryCols)
VALUES ($queryVals)");
if($stmt !== false) {
$stmt->execute;
}
$stmt->close();
$linkDB->close();
像這樣的東西應該做的伎倆...;)
非常感謝!我會盡力的! –
從創建數組值SQL插入查詢,查看示例
下面$ins_clm = "";
$ins_val = "";
foreach($_POST as $key => $value) {
echo "POST parameter '$key' has '$value'";
$ins_clm .= $key.",";
$ins_val .= "'".$value."',";
}
$ins_clm = substr($ins_clm ,0,strlen($ins_clm)-1);
$ins_val = substr($ins_val ,0,strlen($ins_val)-1);
$ins_query = "insert into table ($ins_clm) values ($ins_val)";
$r = mysqli_query($dbc,$ins_query);
非常感謝! –
你必須看到'INSERT批'爲此。 –
是你的'$ key'等價於你的SQL列名嗎? – Preciel
是的,我的$ key等價於我的SQL列名。 –