PHP将错误的值写入数据库?

PHP将错误的值写入数据库?,php,mysql,database,Php,Mysql,Database,我在数据库中创建了下表 $sql = "CREATE TABLE tac_flightsize ( id int NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), gameid int NOT NULL, shipid int, flightsize int )"; 我检查是否有这样的DB写入: if (!$ship->superheavy){ debug::log("db flight: " + $s

我在数据库中创建了下表

$sql = "CREATE TABLE tac_flightsize
(
    id int NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (id),

    gameid int NOT NULL,
    shipid int,
    flightsize int
 )";
我检查是否有这样的DB写入:

if (!$ship->superheavy){
   debug::log("db flight: " + $ship->flightSize);
   self::$dbManager->submitFlightSize($id, $gamedata->id, $ship->id, $ship->flightSize);
}
日志条目将12显示为$ship->flightSize,因此该值是正确的

以下是实际的submitFlightSize函数:

public function submitFlightSize($shipid, $gameid, $flightSize){
        try{
            $sql = "INSERT INTO `B5CGM`.`tac_flightsize` VALUES(null, $gameid, $shipid, $flightSize)";
            $id = $this->insert($sql);
            Debug::log($sql);

        }catch(Exception $e) {
            $this->endTransaction(true);
            throw $e;
        }
}
此函数的Debug:::日志显示以下SQL条目

INSERT INTO `B5CGM`.`tac_flightsize` VALUES(null, 2535, 16238, 1) 
现在,最后一个参数是1,根据前面的调试,它应该是12,并且是一秒钟前的参数

有人能解释一下我可能做错了什么吗?

这里您发送了4个参数

self::$dbManager->submitFlightSize($id, $gamedata->id, $ship->id, $ship->flightSize);
但函数只接受3

public function submitFlightSize($shipid, $gameid, $flightSize)
这是你发送的4个参数

self::$dbManager->submitFlightSize($id, $gamedata->id, $ship->id, $ship->flightSize);
但函数只接受3

public function submitFlightSize($shipid, $gameid, $flightSize)