我最近一直在从事一项 uni 任务,并且在让我的代码正常工作时遇到了很多麻烦。
当我将 .php 文件上传到服务器然后尝试查看它们时似乎发生的错误如下:
- 警告:oci_parse() 期望参数 1 是资源,在第 227 行的 /home/contactusphp.php 中给出的字符串
- 警告:ociexecute() 期望参数 1 为资源,在 /home/contactusphp.php 第 232 行给出 null 您的消息已成功发送!
其他详细信息:这是用于 Oracle 数据库,最初的目的是让用户使用联系表单向站点所有者发送消息(将消息放入数据库)。
我的代码如下:
211. <?
212. // extract form data
213. $emailcontact = $_REQUEST['emailcontact'] ;
214. $email_address = $_REQUEST['email_address'] ;
215.
216. // Create the SQL statement to add data into the database
217. $sql = "INSERT INTO contactus (emailcontact, email_address) VALUES ('$emailcontact', '$email_address')";
218.
219. // Set the oracle user login and password info
220. $dbuser = 'XXXX';
221. $dbpass = 'XXXX';
222. $db = 'SSID';
223. $connect = 'OCI_Logon($dbuser, $dbpass, $db)';
224.
225.
226. // Add this data into the database as a new record
227. $stmt = OCI_Parse($connect, $sql);
228. if(!stmt) {
229. echo 'An error occurred in parsing the SQL string./n';
230. exit;
231. }
232. OCI_Execute($stmt); {
233. echo ('Your mesage has been sent successfully!');
234. }
235. ?>
我似乎无法找到可能出现的问题,而且我对 Web 开发也不是很有经验。
编辑:我去掉了引号,并将 OCI_Logon/OCI_Parse/OCI_Execute 更改为 OCILogon 等。但是,当我这样做时,问题发生了变化。
有一个新的错误代码,如下:
警告:ociexecute() [function.ociexecute]:ORA-00904:“EMAILCONTACT”:第 232 行 /home/contactusphp.php 中的标识符无效
新代码是:
211. <?
212. // extract form data
213. $emailcontact = $_REQUEST['emailcontact'] ;
214. $email_address = $_REQUEST['email_address'] ;
215.
216. // Create the SQL statement to add data into the database
217. $sql = "INSERT INTO contactus (emailcontact, email_address) VALUES ('$emailcontact', '$email_address')";
218.
219. // Set the oracle user login and password info
220. $dbuser = 'XXXX';
221. $dbpass = 'XXXX';
222. $db = 'SSID';
223. $connect = OCILogon($dbuser, $dbpass, $db);
224.
225.
226. // Add this data into the database as a new record
227. $stmt = OCIParse($connect, $sql);
228. if(!stmt) {
229. echo 'An error occurred in parsing the SQL string./n';
230. exit;
231. }
232. OCIExecute($stmt); {
233. echo ('Your mesage has been sent successfully!');
234. }
235. ?>
编辑:问题最终自行解决,我不知道如何解决。