PHP 控制access 出现参数不足,希望为1的错误

来源:百度知道 编辑:UC知道 时间:2024/06/09 11:36:17
我正在尝试用PHP+access开发一个中小型企业人力资源系统。在做搜索功能的时候遇到了一个问题,问题描述如下:
在文本框获取搜索关键字之后,如果查询的是数字,而且数据库的相应字段也是数字类型的则一切正常;如果关键字是文本类型的则会报错,报错提示:Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft OLE DB Provider for ODBC Drivers<br/><b>Description:</b> [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。' in C:\Program Files\VertrigoServ\www\test\dep_sel.php:18 Stack trace: #0 C:\Program Files\VertrigoServ\www\test\dep_sel.php(18): com->Open('select * from d...', Object(com), 1, 3) #1 {main} thrown in C:\Program Files\VertrigoServ\www\test\dep_sel.php on line 18

我在网上找了很多,都是ASP的问题,而且也没有说清楚如何解决,就是为什么会产生这个问题也还不清楚。下面我贴上相关代码,望高手能帮小弟解决这个问题,先感激涕零一个:

相关数据表的字段类型:
id 自动编码
name 文本类型
fullname 文本类型
owner 文本类型

连接access数据库的 conn.php 代码:

<?php
$conn = @new COM("ADODB.Connection&q

在access中,如果是文本应该用单引号将其括起来。

select * from depart where name=".$name

当数据库中的name字段为文本时:

$rs->Open("select * from depart where name='{$name}',{$conn},1,3");

当其为数字时:

$rs->Open("select * from depart where name={$name},{$conn},1,3");

关于和你不一样的单引号和双引事情以及大括号,请自己搜一下。就是变量和非变量的不同写法而已。