我之前从未使用过PDO,但最终决定安全性是主要问题,我必须从熟悉的内置mysql语句切换到更安全的方式.dbconn.php中的db_connect()函数工作得很好,几乎可以从PDO教程中复制和粘贴,并成功地使用多个SELECT语句进行测试.
include "dbconn.php";
db_connect();
//INSERT INTO `a4331098_VAtest`.`VA_GPS` (`gID` , 'gtruck' , `gLat` , `gLong` , `gAlt` , `gTime`) VALUES (NULL , '434' , '47.558', '-76.557', '543', '0111588448');
$pTruck = $_POST['gTruck'];
$pLat = $_POST['gLat'];
$pLong = $_POST['gLong'];
$pAlt = $_POST['gAlt'];
$pTime = $_POST['gTime'];
//echo $pTruck . "<br />" . $pLat . "<br />" . $pLong . "<br />" . $pAlt . "<br />" . $pTime . "<br /><br />";
$stmt = $dbconn->prepare("INSERT INTO a4331098_VAtest.VA_GPS VALUES (NULL , ':fTruck' , ':fLat' , ':fLong' , ':fAlt' , ':fTime')");
$stmt->execute(array(':fTruck' => $pTruck , ':fLat' => $pLat , ':fLong' => $pLong , ':fAlt' => $pAlt , ':fTime' => $pTime));
$affected_rows = $stmt->rowCount();
echo $affected_rows;
Run Code Online (Sandbox Code Playgroud)
我知道正确的值被传递给脚本(注释掉的回显告诉我)但由于某种原因$ affected_rows一直返回0.数据库的结构是gID(传递NULL,因为它自动增量),gTruck,gLat ,gLong,gAlt,gTime.我究竟做错了什么?