为了账号安全,请及时绑定邮箱和手机立即绑定

在数据库 SQL Server 2016 中添加数据时出错

在数据库 SQL Server 2016 中添加数据时出错

PHP
白衣非少年 2021-11-26 16:36:54
目前,我的数据库中有一张名为“工厂”的表。在该表中,有两列,“Fac_ID”和“Fac_Name”。现在,我想创建一个函数来将一些新工厂添加到表“工厂”中。'Fac_ID' 和 'Fac_Name' 的值必须相同,这意味着当我想添加工厂 'F09' 时,Fac_ID 和 Fac_Name 的值必须相同,即 'F09'。当我以前连接MYSQL数据库(PDO)时,添加成功。但是当我更改为 MSSQL (PDO) 时," 未捕获的 PDOException: SQLSTATE[HY093]: 参数编号无效:参数未在 C:\xampp\htdocs\ebooking\add_factory.php:24 中定义:#0 C:\xampp\htdocs\ebooking\add_factory.php( 24): PDOStatement->bindParam(':Fac_ID', 'F11')"这是我的 add_factory.php 代码<?phprequire_once "configPDO.php";if(isset($_POST['Submit'])) {   $Fac_ID = $_POST['Fac_ID'];// checking empty fieldsif(empty($Fac_ID)) {    if(empty($Fac_ID)) {        echo "<font color='red'>Name field is empty.</font><br/>";    }    //link to the previous page    echo "<br/><a href='javascript:self.history.back();'>Go Back</a>";} else {     // if all the fields are filled (not empty)     //insert data to database           $sql = "INSERT INTO factory(Fac_Name, Fac_ID) VALUES(:Fac_Name, :Fac_Name)";    $query = $conn->prepare($sql);    $query->bindParam(':Fac_Name', $Fac_ID,);    $query->bindParam(':Fac_ID', $Fac_ID,);    $query->execute();    //display success message    header("Location:factory.php");  } }?>这是我的 configPDO.php<?php$servername = 'xxx.xx.xx.xxx';$username = 'xx';$password = 'xxxxxx';$dbname = 'xxxx';try {$conn = new PDO("sqlsrv:Server=$servername;Database=$dbname", $username, $password);$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);}catch(PDOException $error) {$error->getMessage();}?> 我能知道是什么问题吗?添加工厂的 HTML 输入是“Fac_ID”
查看完整描述

1 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

在以下查询中

    $sql = "INSERT INTO factory(Fac_Name, Fac_ID) VALUES(:Fac_Name, :Fac_Name)";

您正在使用 :Fac_Name 两次,您应该使用以下内容

    $sql = "INSERT INTO factory(Fac_Name, Fac_ID) VALUES(:Fac_Name, :Fac_ID)";

如果您需要为 name 和 id 设置相同的值,您应该省略以下行

    $query->bindParam(':Fac_ID', $Fac_ID,);

因为您正在尝试将数据绑定到查询中不存在的参数

在您的情况下,以下陈述就足够了

    $query->bindParam(':Fac_Name', $Fac_ID,);


查看完整回答
反对 回复 2021-11-26
  • 1 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信