PHP中使用odbc_exec执行SELECT查询后如何存储返回值
解决ODBC查询count(*)结果获取问题
你之前尝试的odbc_result_all()函数是用来直接将查询结果输出为HTML表格的,无法将数据存入变量做判断。要获取SQL返回的count值,需要用odbc_fetch_row()和odbc_result()配合处理,以下是修正后的代码:
$select = " SELECT count(*) AS member_count FROM [MEMBERS] WHERE [MEMBER_ID] = 'carl'"; $result = odbc_exec($connection, $select); if($result){ // 移动到结果集的行(count(*)必然返回一行) if(odbc_fetch_row($result)){ // 通过别名获取count值,也可以用索引1(第一列) $memberCount = odbc_result($result, 'member_count'); // 这里进行匹配判断 if($memberCount > 0){ // 存在该用户时的操作 echo "找到用户carl,共{$memberCount}条记录"; } else { // 不存在用户时的操作 echo "未找到用户carl"; } } }else{ // 查询执行失败,输出错误信息便于调试 echo "查询失败:" . odbc_errormsg($connection); }
关键说明:
- 给
count(*)起别名member_count,用odbc_result()取值时更直观,避免索引出错; odbc_fetch_row()用于定位到结果集的行,返回true表示成功获取到数据;odbc_errormsg()可以获取ODBC连接的具体错误信息,方便排查查询失败的原因。
内容的提问来源于stack exchange,提问作者Ace19251
相关产品推荐
相关产品推荐

