动态变量在php

时间:2015-09-30 06:13:26

标签: php mysql ms-access

我无法声明一个动态变量。硬编码变量正在工作。 所以基本上我有一个读取.mdb文件的代码。当值被硬编码时它工作但是当使值动态时它不起作用。即使没有引号,在变量中定义时也可以使用双引号和单引号。我的工作代码是

$userid = "91";
$sensorid = "1";
$conn = new COM("ADODB.Connection") or die("ADODB Oops!");
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\standard\Att2003.mdb");
$data = $conn->Execute("SELECT * FROM Checkinout WHERE userid = '".$userid."' AND Sensorid = '".$sensorid."' ORDER BY CheckTime DESC");

如果我声明它,它会起作用     $ userid = $ userdetails [' fingerprintid'];

我可以保证在使用时获得正确的价值     $的UserDetails [' fingerprintid'];

这是错误

  

致命错误:未捕获的异常' com_exception'与消息   ' 来源:用于ODBC的Microsoft OLE DB提供程序   驱动程序
描述: [Microsoft] [ODBC Microsoft Access   驱动程序]不是有效的书签。'在   C:\ xampp \ htdocs \ pages \ attendance.php:21堆栈跟踪:#0   C:\ xampp \ htdocs \ pages \ attendance.php(21):com->执行(' SELECT * FROM   C ...')#1 C:\ xampp \ htdocs \ reception.php(51):   include(' C:\ xampp \ htdocs ...')#2 {main}引入   第21行的C:\ xampp \ htdocs \ pages \ attendance.php

稍后会更新我的问题,因为它认为问题不是语法,而是数据库。 我得到了特定用户的错误,但是使用$ userid = $ userdetails [' fingerprintid']尝试与其他用户一起工作。

1 个答案:

答案 0 :(得分:0)

您的ID似乎是数字,请尝试:

$data = $conn->Execute("SELECT * FROM Checkinout WHERE userid = ".$userid." AND Sensorid = ".$sensorid." ORDER BY CheckTime DESC");