发布此问题MySQL更新或插入或死亡查询后我改为使用PDO但我在使用重复密钥更新短语时遇到了一些问题.
这是我的数组数据的一个例子
array(114) {
["fname"]=>
string(6) "Bryana"
["lname"]=>
string(6) "Greene"
["m080"]=>
string(1) "c"
["t080"]=>
string(1) "-"
["w080"]=>
string(1) "-"
["r080"]=>
["notes"]=>
string(4) "yoyo"}
Run Code Online (Sandbox Code Playgroud)
实际上有113个领域,但我不想浪费在这里展示它们的空间.我正在尝试通过以下代码插入/更新我的数据库
try {
$dbh = new PDO('login info here');
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$stmt = $dbh->prepare(
'INSERT INTO fhours ('.implode(",", array_keys($faculty)).')'.
' VALUES (:'.implode(",:", array_keys($faculty)).')'.
' ON DUPLICATE KEY UPDATE :fieldlist');
$stmt->bindParam(':field_list', $field_list);
foreach($faculty as $key=>$val){
$stmt->bindParam(':'.$key, $val);
$fields[] = sprintf("%s = :%s", $key, $key);
}
$field_list = join(',', $fields);
//echo $stmt->debugDumpParams();
$stmt->execute();
}
catch(PDOException …Run Code Online (Sandbox Code Playgroud) 我有一个数组$rows,其中每个元素是一行15个制表符分隔值.我想要爆炸$rows成一个2D数组$rowData,其中每一行都是一个数组元素,每个制表符分隔的值都分配给一个不同的数组元素.我试过这两种方法没有成功.我知道第一个有编码错误,但我不知道如何纠正它.任何帮助都会很棒.
for ($i=0; $i<count($rows); $i++){
for ($j=0; $j<15; $j++){
$rowData = array([$i] => array (explode(" ", $rows[$j])));
}
}
foreach ($rows as $value){
$rowData = array( array (explode(" ", $rows[$value])));
}
Run Code Online (Sandbox Code Playgroud)