Php pdo::execute($array)未进入表中无错误
我目前正在使用这段代码,没有错误,只是没有将其添加到表中Php pdo::execute($array)未进入表中无错误,php,pdo,execute,Php,Pdo,Execute,我目前正在使用这段代码,没有错误,只是没有将其添加到表中 $fields["firstName"] = $_POST['firstName']; $fields["middleName"] = $_POST['middleName']; $fields["lastName"] = $_POST['lastName']; $fields["suffix"] = $_POST['suffix']; $fields["age"] = $_POST['age']; .....etc $t = a
$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);
你能使用这样的数组吗?还是我必须写出execute函数中的每个变量
$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...)
对
我建议您打印$q;查看代码是否生成了正确的sql。为什么不试试呢?您可以按照建议的方式执行。只要把引号放在正确的地方。。。