繁体   English   中英

动态变量在php中不起作用

[英]Dynamic variable not working in php

我不能声明一个动态变量。 硬编码变量正在工作。 所以基本上我有一个读取 .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' 带有消息 '来源: Microsoft OLE DB Provider for ODBC Drivers
说明: [Microsoft][ODBC Microsoft Access Driver] 不是有效的书签。 在 C:\\xampp\\htdocs\\pages\\attendance.php:21 堆栈跟踪:#0 C:\\xampp\\htdocs\\pages\\attendance.php(21): com->Execute('SELECT * FROM C...' ) #1 C:\\xampp\\htdocs\\reception.php(51): include('C:\\xampp\\htdocs...') #2 {main} 扔在 C:\\xampp\\htdocs\\pages\\attendance.php在第 21 行

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM