当我尝试在本例中的 php 应用程序中添加一个新工作室时,我使用 newstudio 作为名称,我收到此错误,我认为它读取了我在数据库表中作为一行给出的名称 fatal error :未捕获异常“PDOException”,消息为“SQLSTATE[42S22]:未找到列:1054 Champ 'newstudio' inconnu dans field list”
private $conn;
public function __construct()
{
$database = new Database();
$db = $database->dbConnection();
$this->conn = $db;
}
public function addStudio($sname,$sdes,$sidusr)
{
$stmt = $this->conn->prepare("INSERT INTO studio (name,des,idusr) VALUES ($sname,$sdes, $sidusr)");
$stmt->execute();
}
最佳答案
如果你有字符串值,你应该在这些变量周围使用单引号
public function addStudio($sname,$sdes,$sidusr)
{
$stmt = $this->conn->prepare("INSERT INTO studio (name,des,idusr)
VALUES ('$sname','$sdes', '$sidusr')");
$stmt->execute();
}
或者您可以使用参数化查询
public function addStudio($sname,$sdes,$sidusr)
{
$stmt = $this->conn->prepare("INSERT INTO studio (name,des,idusr)
VALUES (:sname,:sdes, ':sidusr)");
$stmt->bindParam(':sname', $sname);
$stmt->bindParam(':sdes', $sdes);
$stmt->bindParam(':sidusr', $sidusr);
$stmt->execute();
}
关于php - 将输入名称读取为数据库表中的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42752235/