使用php代码在oracle数据库中插入变量数据时出错
我试图运行此php代码在oracle数据库中插入值,但运行时出现错误。我的代码是:使用php代码在oracle数据库中插入变量数据时出错,php,oracle,Php,Oracle,我试图运行此php代码在oracle数据库中插入值,但运行时出现错误。我的代码是: <?php $c = oci_connect('system', 'passward', 'dbname'); $sql = "INSERT INTO EMPLOYEES(EMP_ID,JOB_ID) VALUES (:emp_id, ".'{$nw}'.")"; $compiled = oci_parse($c, $sql); oci_bind_by_name($compiled, ':emp_id',
<?php
$c = oci_connect('system', 'passward', 'dbname');
$sql = "INSERT INTO EMPLOYEES(EMP_ID,JOB_ID) VALUES (:emp_id, ".'{$nw}'.")";
$compiled = oci_parse($c, $sql);
oci_bind_by_name($compiled, ':emp_id', $eid);
oci_bind_by_name($compiled, '.$nw.', $nw);
oci_execute($compiled);
?>
我得到了以下错误
警告:oci_bind_by_name():ORA-01036:非法变量名/编号
在第16行的C:\xampp\htdocs\folder\add\u emp.php中
警告:oci_execute():ORA-00911:中的字符无效
第17行C:\xampp\htdocs\folder\add\u emp.php
我知道问题出在哪里,只是不知道正确的语法或方式 试试看
$sql = "INSERT INTO EMPLOYEES(EMP_ID,JOB_ID) VALUES (:emp_id, :nw)";
查询中的问题是,您正在关闭“然后将{$nw}正好连接到这个字符串,正如您将它放在单引号之间一样,php理解它不应该用变量替换它,它只是一个字符串。因此,您的查询到达oracle时是这样的:
在员工(EMP_ID,JOB_ID)中插入值(无论是什么值,{$nw});如果操作不正确
$sql = "INSERT INTO EMPLOYEES(EMP_ID,JOB_ID) VALUES (:emp_id, :nw)";
$compiled = oci_parse($c, $sql);
oci_bind_by_name($compiled, ':emp_id', $eid);
oci_bind_by_name($compiled, ':nw', $nw);
非常感谢mush Rikesh,,,我做了,它成功了。很高兴帮助你接受它,如果它有助于你解决问题。你需要接受正确的答案。检查这个)我做了,tick marj现在是绿色的,这是你想要传达的吗??