select InStationName,InOpTime,StationName,OpTime,VehType,Traveltime from [3月18日新]
where InStationName like'"'+@O+'%"'
and StationName like'"'+@D+'%"'
and Traveltime<36000
and Traveltime>250
这上面的AND不能跨行哦,还有LIKE后面的引号应该不是那样写的
双击鼠标打开用于数据库管理的“企业管理器”
依次点击展开需要进行查询 *** 作的数据库和表
点击菜单,工具,数据查询分析器
在“查询”窗口中,开始输入代码
代码如下:
declare @Id int
set @Id = 672
select from users where id=@Id
解释:
declare 是用于定义变量的系统关键字
@ 是变量的头符号,所有变量,必须使用@打头,用来区分是变量还是系统关键字,表名,列名等。
int 是数据类型,需要使用哪种,就定义哪种,比如定义为 varchar(20)
set 是赋值语句,给变量@Id赋值,赋值之后,变量就可以使用了
select 语句中,就使用了变量,在where条件语句中,限定了id=变量,也就是id=672
点击运行按钮,查询结果如下:
除了可以使用set 赋值,还可以使用select 语句赋值,如:
select @Id=id from users where cusecode='办公室'
你说的只是php代码中可能会允许你使用注入语句,但是一般来说,网站防注入都是在链接数据库的类中加入了转换,也就是说把注入语句的关键字都加上了转义字符。比如你遇到的这种情况,就是被防注入了。
关于你这个问题:
问:输入框中的SQL语句应该如何写?
条件:数据库表、字段全已知,输入框长度不限。
我只能跟你说,你可以在输入框中加入;,/这种符号,让语句解析的时候出现问题,让php把sql语句拼合成两个或两个以上。这样你就可以在第二条语句之后加入你想要执行的命令了。
如果这种方法没有效果,你只能使用溢出的方式来注入!
String
sql="insert
into
xs
(name,age)
values
('"+name+"',"+age+")";
呵呵~这样就行了,去掉单引号就就是int类型的!
执行下看!
以上就是关于sql表名为变量时,如何进行更新引用全部的内容,包括:sql表名为变量时,如何进行更新引用、sql语句使用变量的前提是什么、php如果在sql 中使用 数据库变量等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)