gpt4 book ai didi

php - 这个 PHP PDO 例程有什么问题?

转载 作者:行者123 更新时间:2023-11-29 01:23:07 25 4
gpt4 key购买 nike

我开始使用 PDO 并尝试替换这段有效的代码:

$dbh->query("INSERT INTO sugestao (id, fbid, username, latitude, longitude, endereco, categoria, titulo, descricao, foto)
VALUES (null,
'".$fbid."',
'".$username."',
'".$lat."',
'".$lon."',
'".$endereco."',
'".$categoria."',
'".$titulo."',
'".$descricao."',
'".$foto."')");

有了这个,这似乎更安全,更易于维护,而且还应该允许我安全地获取最后插入的 ID:

$dbh->beginTransaction();

$dbh->prepare("INSERT INTO sugestao (id, fbid, username, latitude, longitude, endereco, categoria, titulo, descricao, foto)
VALUES (null, :fbid, :username, :lat, :lon, :endereco, :categoria, :titulo, :descricao, :foto)");
$dbh->bindParam(":fbid", $fbid);
$dbh->bindParam(":username", $username);
$dbh->bindParam(":lat", $lat);
$dbh->bindParam(":lon", $lon);
$dbh->bindParam(":endereco", $endereco);
$dbh->bindParam(":categoria", $categoria);
$dbh->bindParam(":titulo", $titulo);
$dbh->bindParam(":descricao", $descricao);
$dbh->bindParam(":foto", $foto);
$dbh->execute();
$lastid = $dbh->lastInsertId();
$dbh->commit();

第二个,给我一个 500 服务器错误。有什么线索吗?

最佳答案

bindParamexecute 是来自 PDOStatement 的函数而不是来自 PDO :

$statement = $dbh->prepare(...);
$statement->bindParam();
$statement->execute();

关于php - 这个 PHP PDO 例程有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11847752/

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