例如,select * from "user" 不这样写就会报错,请问怎么才能不加引号,例如设置sql里边的东西
我的sql2005在查询时总是需要在表名上加引号
答案:3 悬赏:80
解决时间 2021-04-21 14:31
- 提问者网友:娇妻失忆
- 2021-04-21 09:43
最佳答案
- 二级知识专家网友:没感情的陌生人
- 2021-04-21 10:34
select user,返回用户名,
user是sql保留关键字,如果有其他需要,要加""或[]来区分,
如果不想加引号,建议改个表名。
user是sql保留关键字,如果有其他需要,要加""或[]来区分,
如果不想加引号,建议改个表名。
全部回答
- 1楼网友:甜野猫
- 2021-04-21 12:22
百度知道就是被楼上的这种垃圾给搞坏的。。。找点书COPY过来有什么意思。。。。。。。
-----------------------------
要防止SQL注入其实不难,你知道原理就可以了。
所有的SQL注入都是从用户的输入开始的。如果你对所有用户输入进行了判定和过滤,就可以防止SQL注入了。用户输入有好几种,我就说说常见的吧。
文本框、地址栏里***.asp?中?号后面的id=1之类的、单选框等等。一般SQL注入都用地址栏里的。。。。如果要说怎么注入我想我就和上面的这位“仁兄”一样的了。
你只要知道解决对吗?
对于所有从上一页传递过来的参数,包括request.form 、request.qurrystring等等进行过滤和修改。如最常的***.asp?id=123 ,我们的ID只是用来对应从select 里的ID,而这ID一般对应的是一个数据项的唯一值,而且是数字型的。这样,我们只需把ID的值进行判定,就可以了。vbs默认的isnumeric是不行的,自己写一个is_numeric更好,对传过来的参数进行判定,OK,搞定。算法上的话,自己想想,很容易了。但是真正要做到完美的话,还有很多要计算的。比如传递过来的参数的长度,类型等等,都要进行判定。还有一种网上常见的判定,就是判定传递参数的那一页(即上一页),如果是正常页面传弟过来就通过,否则反之。也有对' or 等等进行过滤的,自己衡量就可以了。注意一点就是了,不能用上一页的某一个不可见request.form("*")进行判定,因为用户完全可以用模拟的形式“复制”一个和上一页完全一样的页面来递交参数。这样,这招就没用了。。。。
OK就说这么多,还不明白的话,找我。[email protected]
- 2楼网友:伤口狠精致
- 2021-04-21 11:52
exec sp_rename 'employee','user'
在查询窗口中执行,建议不要写成user,因为是系统关键字,可以写users
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯