2017-11-21 3 views
-1

ich eine dynamische Form haben, die die folgenden Felder können sagen hat:PHP Dynamische Felder INSERT MySQL

<input type="text" name="firstname"> 
<input type="text" name="surname"> 
<textarea name="description"> 

sagen Lets ich eine Tabelle auf Mysql haben, die die gleichen Spaltennamen hat.

Wenn ich poste ich möchte das Array in Spaltennamen und Werte teilen und dann einfügen in eine vorbereitete Erklärung:

Ich habe versucht, die folgenden:

foreach($_POST as $key => $value) { 
$keys .= $key.','; 
$values .= $value.','; 
$q.= '?,'; 
$type .= 's'; 

} 
rtrim($keys,','); 
rtrim($values,','); 
rtrim($q,','); 

$insert_stmt = $mysqli->prepare("INSERT INTO ".$form_table." (".$keys.") VALUES (".$q.")"); 
$insert_stmt->bind_param($type, $values); 
$insert_stmt->execute(); 

Es scheint zum Scheitern verurteilt bind_param() fehlgeschlagen

Ich schätze, es sieht $ Werte als eine lange Zeichenfolge .. bin ich nah dran?

+2

http://idownvotedbecau.se/noresearch/. Es gibt viele Tutorials und Threads hier mit Beispielen, die Sie dafür verwenden können. – Nic3500

+0

Wären Sie in der Lage, direkt auf den entsprechenden Beitrag zu verweisen, der sich auf mein spezifisches Problem bezieht? – Thatguy

Antwort

1
//i - integer 
//d - double 
//s - string 
//b - BLOB 

$type = ''; 
$keys = ''; 
$values = ''; 
foreach($_POST as $key => $value) { 
    $keys .= $key.','; 
    $values .= $value.','; 

    //change type according to your need or based on your data type. 
    $type .= 's'; 
} 
rtrim($keys,','); 
rtrim($values,','); 


//use keys, type and values 
+0

Sie müssen mehr Informationen zur Verfügung stellen, damit die Community von Ihrem Code lernt. Bitte geben Sie genügend Details an, bevor Sie Ihren Code veröffentlichen. – ALH

+0

scheint auf den Werten build_param - $ zu scheitern – Thatguy