无法弄清楚此代码无效的原因:
$update_SQL = $db->prepare($SQL_update);
$update_SQL->execute([$SQL_values]);
这些是插入这些语句的两个字符串的转储:
$SQL_update = UPDATE laptops SET asset_tag = :asset_tag WHERE id = :id
$SQL_values = 'asset_tag' => 5544, 'id' => 23
答案 0 :(得分:3)
您错过了代码中的:
: -
$update_SQL = $db->prepare($SQL_update);
$update_SQL->execute([':asset_tag' => 5544, ':id' => 23]);
所以你真正需要做的是: -
$SQL_values =[':asset_tag' => 5544, ':id' => 23]; // create array like this
$update_SQL = $db->prepare($SQL_update);
$update_SQL->execute($SQL_values); // pass that array
或者
$SQL_values =['asset_tag' => 5544, 'id' => 23]; // create array like this
$update_SQL = $db->prepare($SQL_update);
$update_SQL->execute($SQL_values); // pass that array
注意: - execute
不接受字符串,它必须是数组。