解决方案 »
- mysql如何统计前一天记录?时间存储模式是:time()的
- Git问题:怎样查看某一个文件在各个版本之间的改变
- 关于 mysql_connect 连接 mysql 的问题.很奇怪的问题..
- 共享源码:DIV模态对话框、JS万能验证增强版、ajax类等常用JS代码!全部兼容IE/firefox
- 急!!请问PHP和其他数据库服务器可以连接吗
- 设置文件夹为可写时,怎么老是出错啊?
- 也面老是出现CGI错误,是不是PHP没有装好呀?
- PHP的copy函数
- 新版支付宝手机网站支付同步回调已经不返回交易状态trade_status,同步的不返回状态感觉不能写数据库操作了,同步回调只能作跳转用吗?
- 不是很懂redis,有个关于架构的问题问一下
- 这段小代码有点点不懂,请教
- 开始学习PHP,新写一段小代码检测IE版本,求指导
{
echo “正确”
}应该放到循环里面才对吧
if($tid==$id)
{
echo “正确”
}应该在while循环中
$id=addslashes($_POST["id"]);(//这里取用户输入的id,add函数是过滤非法注入)mysql_select_db($dbname);(//下面读数据库库的id
$rs = mysql_query($sql);
while($row = mysql_fetch_object($rs))
{
$tid=$row->id;if($tid==$id)
{echo “正确”
}
} 这样试试
echo $sql;
然后在用'1 or 1=1 '测试,
看看sql的输出是不是:
select * from aaatradelist where Id=1 or 1=1
这样的结果,能不往下执行吗把sql改成我的那种写法
再看看结果是不是
select * from aaatradelist where Id='1 or 1=1'
这样1 or 1=1就成了字符串
这是addslashes函数的作用。但是它不能把 1 or 1=1 怎么样啊。当然了除了我那个方法,你也可以用strvar()函数,把$id转换成字符型,这样也能避免注射。
$id = strvar($id);