使用php插入数据库,使用查询填充值部分并获取SQLSTATE[42000]:语法错误或访问冲突:1064
使用php插入数据库,使用查询填充值部分并获取SQLSTATE[42000]:语法错误或访问冲突:1064,php,mysql,Php,Mysql,你忘了在Truck1_数据和id之间设置一个集合,尽管我相信你的其余代码也会爆炸出来多亏了其他人的帮助和寻找一些解决方案。我已将column id更改为自动增量。我的问题已经有了答案,希望能帮助像我这样的人 试一试{ 完整错误是什么?Insert没有where条件..可能是您需要updateSQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以了解可在“id=select maxid from Truck1_data+1
你忘了在Truck1_数据和id之间设置一个集合,尽管我相信你的其余代码也会爆炸出来多亏了其他人的帮助和寻找一些解决方案。我已将column id更改为自动增量。我的问题已经有了答案,希望能帮助像我这样的人 试一试{
完整错误是什么?Insert没有where条件..可能是您需要updateSQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以了解可在“id=select maxid from Truck1_data+1,Location='in Transit'where sel'第1行附近使用的正确语法-这是完全错误。插入查询中没有等号您需要更新…但您r代码充满了其他错误..你必须重新思考你的代码..并深入研究SQLtake a better llok at the OP query
require 'db_config.php';
$filename = "truck_a.txt";
$fp = fopen($filename, "r");
$content = fread($fp, filesize($filename));
fclose($fp);
list($name, $lat, $lon) = explode(',', $content);
try {
$db = new PDO($dsn, $username, $password);
$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$loc = 'In-Transit';
$q3a = $db-> query("INSERT INTO Truck1_data id = ((select max(id) from Truck1_data) +1), Location = '".$loc."') where (select location from Truck1_data where id = max(id)) <> '".$loc."') and (select location from Truck1_data where id = max(id)) <>'In-Transit' ");
} catch (Exception $e) {
echo $e->getMessage();
}
$db = new PDO($dsn, $username, $password);
$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$loc = 'In-Transit';
$q3aa = $db->query("select Location from Truck1_data where id = (select max(id) from Truck1_data)");
$loctn = $q3ab->fetchAll();
if(!strcmp($loc,$loctn)) {
$q3a = $db-> query("INSERT INTO Truck1_data SET Location=('".$loc."') ");
}
} catch (Exception $e) {
echo $e->getMessage();
}