-1

私は現在このコードを使用していますが、テーブルに追加していないだけでエラーはありません。

$fields["firstName"] = $_POST['firstName']; 
$fields["middleName"] = $_POST['middleName'];
$fields["lastName"] = $_POST['lastName']; 
$fields["suffix"] = $_POST['suffix'];
$fields["age"] = $_POST['age'];
.....etc


$t = array();
foreach($fields as $k=>$v)
{
$count++;
$n .= $k;
$u .= $k;
if($count != count($fields))
{
    $n .= ", ";
    $u .= ", :";
}
$s = ":".$k;
$t[$s]= $v;
}

 $q="INSERT INTO search_requests SET (".$n.") VALUE(:".$u.")";

 $prep=$conn->prepare($q);
 $prep->execute($t);

そのような配列を使用できますか、それとも実行関数で各変数を書き出す必要がありますか

 $prep->execute(array(':firstName=>$_POST['firstName'], etc..));

SQL コード

INSERT INTO search_requests SET (user_email, datestamp, historicalMatches, 
firstName, middleName, lastName, suffix, etc...) VALUE(:user_email, 
:datestamp, :historicalMatches, :firstName, :middleName, :lastName, :suffix,etc...)

それらはすべて一致します。

Array ( [:user_email] => Email@domain.com [:datestamp] => 02 Nov 2012 10.24.39 AM   
[:historicalMatches] => [:firstName] => First [:middleName] => m [:lastName] => lastname 
[:suffix] => etc...)
4

1 に答える 1

0

はい。

print $q; を実行することをお勧めします。コードが正しいSQLを生成するかどうかを確認します。

于 2012-11-01T23:38:01.733 に答える