党委会工作报告讨论:sql中update的用法问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 15:16:09
用UPDATE更改表中的一行,其中一句如下,看一下有什么错误??
mysql_query("update '$tablename' set code1='$code1' where abc=$abc");
其中:$tablename是由表单提交来的一表名, code1是表中的一个列名,$code1是由表单提交来的更改后的内容,abc是表中int自增的主键,$abc是表单提交来的一个数字,用来确定更改的行数。
执行后提示完成,但实际表中的相关行并没有被修改,什么原因???是不是abc与$abc不是同一类型[abc是整数,而$abc是字符串?表单提交来的数字是不是字符串型的??],没法进行比较??但也没有提示错误!!!

你去后台输出你的sql语句看看,然后直接把输出的语句放到你用的数据库中执行,看到有什么错误?

不清楚你用的什么语言&数据库,但是根据经验,你的sql语句写错了,改成下面的你看看:
("update "+$tablename+" set code1='"+$code1+"' where abc="+$abc+");

单引号是用来表示字段值的,你把变量直接引起来有什么用啊。

欢迎加入24885035群,请说明意图
VB,VB.NET交流
代码成就天地人生,程序造就你我辉煌
让我们在程序的路上一起走得更远!

你看数据库改了没 如果改了 就是你没刷新 或者是你字符类型不匹配

没有修改就是在数据库中没有接收的$abc数据

where后的筛选条件没有得到记录。也就是说表中主键没有和$abc相匹配的

where后面要跟绝对查询条件,abc必须是字段名或者带字段名的某一参数