Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php pdo::execute($array)未进入表中无错误_Php_Pdo_Execute - Fatal编程技术网

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。

为什么不试试呢?您可以按照建议的方式执行。只要把引号放在正确的地方。。。