I'm getting the following error using oci_bind_by_name(). Warning: oci_bind_by_name(): ORA-01036: illegal variable name/number in /appl/wideacc/CustMast/in/OCIpreptest.php on line 23
As you can see by the commented out bind lines, I have tried many different parms in the bind and I tried the insert with the field names and without I was getting the error on a "real" table so to isolate the issue I created a test table with one field in it (the field is a varchar(25) and called TESTNAME) We are running php 5.2.2 with oci8 1.2.3 (rev 1.269.2.16.2.32), against Oracle 10g rel 10.2.0.2.0 on SunOS ver 5.10 What makes this even stranger, if I do not "die" on the failure of the bind the oci_execute() returns true but no row is inserted into the table. I can get this to work with PEAR_DB and MDB2 but we are doing some performance testing so we want to see how using oci direct without any DB layers performs. Below is the test code I'm running; //Connect to the Database $dbUser = 'c1'; $dbPSWD = p1'; $db = 'db1'; $con = oci_connect($dbUser, $dbPSWD, $db); if (!$con) die ('Connect to DB failed'); //$insSQL = 'INSERT INTO KB_TEST (TESTNAME) VALUES (:TESTNAME)'; $insSQL = "INSERT INTO KB_TEST VALUES (:TESTNAME)"; $insSQL = strtoupper($insSQL); // upper case since ORACLE prefers upper and we know we do not have a case issue echo "SQL is $insSQL \n"; $stmt = oci_parse($con, $insSql); if (!$stmt) die ('Parse for insert failed'); //oci_bind_by_name ($stmt, ":TESTNAME", "ERIC", 25, SQLT_CHAR); //oci_bind_by_name ($stmt, ":TESTNAME", "ERIC"); //oci_bind_by_name ($stmt, ":TESTNAME", "ERIC",-1); //oci_bind_by_name ($stmt, ':TESTNAME', 'ERIC'); //oci_bind_by_name ($stmt, ':TESTNAME', 'ERIC',-1); $val = 'ERIC'; $bindVar = ':TESTNAME'; if (oci_bind_by_name ($stmt, $bindVar, $val)) { echo "Bind Successful \n"; } else { oci_close($con); die ("***** Bind Failed ***** "); } if (oci_execute ($stmt)) { echo "execute was good \n"; } else { echo "excute FAILED \n"; } oci_close($con); SolutionOne Eric Gewirtz 162 Turk Hill Road Brewster NY, 10509 Phone: 845-729-7800 FAX: 845-279-5502
_______________________________________________ New York PHP User Group Community Talk Mailing List http://lists.nyphp.org/mailman/listinfo/talk http://www.nyphp.org/show_participation.php