【问题标题】:how to insert data into oracle table using php如何使用php将数据插入到oracle表中
【发布时间】:2020-10-29 10:29:08
【问题描述】:

我需要帮助使用 post 方法使用 PHP 向 oracle 插入值。不仅如此,我还需要帮助从其他表向 oracle 插入值。我做了一些编码,但发生了错误,例如

"未定义索引:PET_NAME","oci_execute():ORA-00911:无效 字符”,oci_fetch_array(): ORA-24374: 在获取之前定义未完成 或执行并获取。

在这里,我在链接中附加了我的所有代码和 ERD。请帮我。谢谢你。我想使用 post 方法从 HTML 表单和 pet_id 等其他表中将数据插入到处理表中。

https://drive.google.com/drive/folders/1Cad2fiTwJRobBPxZf2rmopeENLjcPqIP?usp=sharing

【问题讨论】:

  • 嗨,有趣的是,也许 sql 中有语法错误?也许尝试打印 sql 命令,然后在控制台中运行它...
  • 已经做到了。语法错误是正确的。我想知道我的代码是否错误
  • 你能详细解释一下吗?我不太明白
  • 请直接将代码贴在您的问题上。

标签: php html oracle insert dbconnection


【解决方案1】:

治疗表

Treatement (treat_id,
            staff_id,
            pet_id,
            treat_date,
            total_price) 

您的插入语句是

 insert into TREATMENT(TREAT_ID.nextval,  --you should use sequence next val in values
                        PET_ID,
                        ;TREAT_DATE, ---why you have a semi colon here???
                       TREAT_TIME,   --- this column does not exist in Treatment table
                        TOTAL_PRICE)'. 'values
                       (:TREAT_DATE_bv,
                        (select p.pet_id,p.pet_name from treatment t join pet p on t.PET_ID =p.pet_id where p.pet_name=:PET_NAME),-- you didn't use place holder for pet_name and why do you need p.pet_name here???
                        :TREAT_TIME_bv,
                        :TOTAL_PRICE_bv)

上面的插入语句列名与值不按顺序排列。

你需要 staff_name 占位符来获取 staff_id 并且你的插入语句应该是这样的

INSERT INTO TREATMENT(treat_id,
                staff_id,
                pet_id,
                treat_date,
                total_price)
values 
          (treat_id.nextval,
          (select staff_id from staff where staff_name=:STAFF_NAME_bv),
          (select pet_id from pet where pet_name=:PET_NAME_bv),
           :TREAT_DATE_bv,
           :TOTAL_PRICE_bv)

请记住,上面是根据您的 php 代码调整的标准 sql。另一方面,如果 2 或 3 个 pet_id 共享相同的 pet_name 会发生什么?最好有 cust_id 占位符来获取 pet_id 即select pet_id from pet where pet_name=:PET_NAME_bv and cust_id=:CUST_ID_bv

【讨论】:

    猜你喜欢
    • 2012-12-15
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 2019-08-21
    • 2015-02-16
    • 1970-01-01
    • 2011-01-08
    相关资源
    最近更新 更多