RFID射频卡超市购物结算系统问题记录--写入卡片时,后台php无法操作数据库
后台管理人员要给每件商品贴上RF卡作为唯一标识,所以要先给对应的RFID卡中写入响应的信息,我这里为了便于模拟演示只写入商品编号,价格,名称这几个字段,然后要把已经写入的商品上传后台,由后台写入数据库中的商品表(Goods)中,其中VB访问后台的代码如下:
'把写入卡片的内容上传服务器,由服务器保存在数据库中,后期需要修改url等内容
Dim sssa As New WinHttpRequest
Dim urlString As String = "http://mzwapitest.applinzi.com/" + "?" + "name=" + "'" + GoodsName + "'"
Console.WriteLine(urlString)
sssa.Open("GET", urlString, False) sssa.Send() ' 如果返回为字符串“OK”, 则显示写卡成功标识
If sssa.ResponseText.Length Then
Label6.Text = "商品编码编码:" + GoodsNumb + ";商品名称:" + GoodsName + ";商品价格:" + GoodsPric + " 写入成功" + sssa.ResponseText
Else
ISO15693_WriteMultipleBlocks(hr, ht, , , eraseData, eraseData.Count - )
End If
php后台如下:
<?php
header("Content-type:text/html;charset = utf-8");
$name = $_GET['name'];
//$numb = $_GET['numb'];
//$price = $_GET['price'];
//if ($name=="aaa") {
//echo 'mazhongwei';
//}
// 连主库
$db = mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
//$db = mysql_connect(w.rdc.sae.sina.com.cn.':'.3307,ilzy5im2l1w4im2hl13miwmy3ky3l10h1y3l4wkh);
// 连从库
// $db = mysql_connect(SAE_MYSQL_HOST_S.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
if ($db) {
mysql_select_db(app_mzwapitest, $db);
$ok = mysql_query('insert into Goods(name) values($name)');
if($ok){
echo 'OK';
}else{
echo 'insert error';
}
// ...
}else {
echo 'openerror';
}
?>
但是在操作过程中总是不能正确连接,后在php操作数据库的语句后天添加一条语句,用来接收sql操作失败的提示:
<?php
header("Content-type:text/html;charset = utf-8");
$name = $_GET['name'];
//$numb = $_GET['numb'];
//$price = $_GET['price'];
//if ($name=="aaa") {
//echo 'mazhongwei';
//}
// 连主库
$db = mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
//$db = mysql_connect(w.rdc.sae.sina.com.cn.':'.3307,ilzy5im2l1w4im2hl13miwmy3ky3l10h1y3l4wkh);
// 连从库
// $db = mysql_connect(SAE_MYSQL_HOST_S.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
if ($db) {
mysql_select_db(app_mzwapitest, $db);
$ok = mysql_query('insert into Goods(name) values("$name")');
if($ok){
echo 'OK';
}else{
echo mysql_error();
echo 'insert error';
}
// ...
}else {
echo 'openerror';
}
?>
然后看到返回的错误信息为:
Unknown column '$name' in 'field list'insert error
在网上查发现原因是:

于是在php语句操作mysql的语句进行如下修改
修改前:$ok = mysql_query('insert into Goods(name) values($name)');
修改后:$ok = mysql_query('insert into Goods(name) values("$name")');
但是运行时虽然现实写入成功,但是打开数据库发现写入的内容是
"$name"
然后尝试修改为如下:
再次修改:$ok = mysql_query('insert into Goods(name) values('$name')');
在php中,使用.来拼接字符串,类似于java和vb中的+用法
这样反而不能执行了。
由此发现在php中,‘变量’会被识别为一个字符串,所以要用拼接字符串的形式来实现变量插入:
最后修改:$ok = mysql_query('insert into Goods(name) values('.$name.')');
RFID射频卡超市购物结算系统问题记录--写入卡片时,后台php无法操作数据库的更多相关文章
- RFID射频卡超市购物结算系统
RFID射频卡超市购物结算系统 这段时间在做RFID射频卡超市购物结算系统,这个系统的设想来自于大学研究课题,但是我们在淘宝网上购买设备的时候淘宝店主都认为RF射频技术不好应用在超市购物结算系统,原因 ...
- 编写Java程序_连锁超市购物结算系统
目录 功能需求: 一.Use Case 1 显示商品信息列表: 二.Use Case 2 输入购买商品编号 三.Use Case 3 显示购物结算清单 需求分级: 实现代码: 功能需求: Soft f ...
- 射频识别技术漫谈(28)——基于MF1射频卡的酒店门锁设计
电子门锁是现代星级酒店管理电子化.智能化的重要电子设备.相较于传统的机械锁,基于RFID技术的电子门锁使用方便,易于管理,安全性高,可实现对开锁用户的分优先级自动管理,对房间入住信息实现自动统计与报表 ...
- MySQL 当记录不存在时插入(insert if not exists)
在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案.问题:我创建了 ...
- IC卡、ID卡、M1卡、射频卡的区别是什么【转】
本文转载自:https://www.cnblogs.com/najifu-jason/p/4122741.html IC卡.ID卡.M1卡.射频卡都是我们常见的一种智能卡,但是很多的顾客还是不清楚IC ...
- IC卡、ID卡、M1卡、射频卡的区别是什么
IC卡.ID卡.M1卡.射频卡都是我们常见的一种智能卡,但是很多的顾客还是不清楚IC卡.ID卡.M1卡.射频卡的区别是什么,下面我们一起来看看吧. 所谓的IC卡就是集成电路卡,是继磁卡之后出现的又一种 ...
- IC卡、ID卡、M1卡、射频卡的区别是什么(射频卡是种通信技术)
IC卡.ID卡.M1卡.射频卡都是我们常见的一种智能卡,但是很多的顾客还是不清楚IC卡.ID卡.M1卡.射频卡的区别是什么,下面我们一起来看看吧. 所谓的IC卡就是集成电路卡,是继磁卡之后出现的又一种 ...
- MIFARE系列6《射频卡与读写器的通讯》
1. 复位应答(Answer to request) 读写器呼叫磁场内的卡片,卡片对呼叫做出应答.对刚进入磁场得到电复位处于休闲状态的卡片,卡请求(REQA,0x26):对于已进行过读写操作并进入休眠 ...
- rfid 门卡系统和人体红外感应开发
今天忙了一天了,因为毕昇杯我发现如果不加把劲,可能寒假之前代码搞不出了,今天突击了两个模块,一个人体感应模块,和rfid刷卡模块,这两个模块谈不上自己编写代码,今天的任务也仅仅是看懂了代码,现在我总结 ...
随机推荐
- java 缓冲流
english.txt The arrow missed the target. They rejected the union demand. Where does this road go to? ...
- java synchronized内置锁的可重入性和分析总结
最近在读<<Java并发编程实践>>,在第二章中线程安全中降到线程锁的重进入(Reentrancy) 当一个线程请求其它的线程已经占有的锁时,请求线程将被阻塞.然而内部锁是可重 ...
- Python虚拟环境安装virtualenv
解决了多个版本共存的问题 virtualenv 为每个不同项目提供一份 Python 安装.它并没有真正安装多个 Python 副本,但是它确实提供了一种巧妙的方式来让各项目环境保持独立. 安装vir ...
- android xml文件中出现如下提醒:This tag and its children can be replaced by one <TextView/> and a compound drawable
第一个感叹号 是跟你说 让你把Imageview 和textview 结合起来 只用 textview textview有个属性叫 android:drawable...(top/bottom/.. ...
- USACO Section 1.3 Ski Course Design 解题报告
题目 题目描述 有N座山,每座山都有一个高度,现在由于农夫想避税,所以想把这些山的高度进行一些改变,使得最高的山与最低的山之间的高度差不超过17.每座山最多只能改变一次高度,每次改变高度都会产生一定的 ...
- 配置Eclipse支持java和xml文件的代码补全功能
百度经验:jingyan.baidu.com 本文介绍如何配置Eclipse,使得在编写代码时无论是*.java还是*.xml文件都能够通过使用ALT+/快捷键实现代码不全的功能. 本文实验环境为:W ...
- 转 Android HTTPS详解
目录(?)[-] 前言 HTTPS原理 SSLTLS协议作用 基本的运行过程 握手阶段的详细过程 客户端发出请求ClientHello 服务器回应ServerHello 客户端回应 服务器的最后回应 ...
- P8 Visible Lattice Points
P8 Visible Lattice Points Time Limit:1000ms, Memory Limit:65536KB Description A lattice point (x ...
- JavaScript中call,apply,bind方法的总结
原文链接:http://www.cnblogs.com/pssp/p/5215621.html why?call,apply,bind干什么的?为什么要学这个? 一般用来指定this的环境,在没有学之 ...
- 最短路径问题 HDU 3790
最短路径问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...