PHP将错误的值写入DB?

时间:2015-06-28 15:39:28

标签: php mysql database

我在DB

中创建了下表
$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);
}

debug :: log条目显示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并且是一秒钟之前。

任何人都可以向我解释我可能做错了什么吗?

1 个答案:

答案 0 :(得分:4)

这里你发送4个参数

self::$dbManager->submitFlightSize($id, $gamedata->id, $ship->id, $ship->flightSize);

但函数只接受3

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