gpt4 book ai didi

php - MySQL bind_param 向表写入 NULL

转载 作者:可可西里 更新时间:2023-11-01 07:39:10 25 4
gpt4 key购买 nike

问题:即使我的 $settings 数组中有值 (int),当值为 0 和 2 时,MySQL 都会将 NULL 写入表中。

作为引用,$settings 数组中的每个索引都是 [0] = max[1] = min 的数组。

public function updateAdaptiveArmour($gameid, $shipid, $settings){

foreach ($settings as $key => $value){
debug::log($key." ".$value[0]." ".$value[1]);

//just to show the contents
// [561103190304f][2015-10-04 12:44:41] particle 4 2
// [56110319035b3][2015-10-04 12:44:41] laser 0 0
// [56110319035b3][2015-10-04 12:44:41] molecular 0 0
}


try {
if ($stmt = $this->connection->prepare(
"UPDATE
tac_adaptivearmour
SET
particlealloc = ?,
laseralloc = ?,
molecularalloc = ?
WHERE
gameid = ?
AND shipid = ?
"
))
{
$stmt->bind_param('iiiii', $settings[0][1], $settings[1][1], $settings[2][1], $gameid, $shipid);
$stmt->execute();
$stmt->close();
}
}
catch(Exception $e) {

throw $e;
}
}

理想情况下,对于此示例,我希望更新为 2/0/0 而不是 null/null/null。

最佳答案

您的数组填充如下:

$settings = [
'particle' => [4, 2],
'laser' => [0, 0],
'molecular' => [0, 0]
];

我希望无需进一步解释即可回答问题。


将修复如下:

$stmt->bind_param('iiiii',
$settings['particle'][1],
$settings['laser'][1],
$settings['molecular'][1],
$gameid,
$shipid
);

关于php - MySQL bind_param 向表写入 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32932710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com