MySQL 不支持 多SELECT 嵌套。Oracle / SQLServer 支持。

解决方案 »

  1.   

    sql语句注入不是php的问题,也不是数据库的问题
    是写程序的人的问题!!!!!
      

  2.   

    我也同意, 但是好像由于php对字符的特殊处理, sql语句注入无法实现.;-- 是SQL Server的注释符,好像无效
    而且php好像也不支持2条语句同时执行, 不是嵌套语句, 而是用; 断开, 多条语句好像不行请指教, 我还是自己装个php研究吧
      

  3.   

    来许个愿吧,也许会如愿哦!
    为友情,为生活,为爱情。
    祝愿你美梦成真祈愿板:
    http://www.77studio.net/wish/
      

  4.   

    经过测试 php 可以同时运行2条语句
    其实不是php的事情 是sqlserver支持同时多条sql语句的运行
    测试代码如下
    <?php$handler = mssql_connect('wumeibo','sa','sa');
    mssql_select_db('test',$handler);
    $strSql = "select * from test;update test set num=num+1";
    $result = mssql_query($strSql,$handler);
    while( $row = mssql_fetch_array( $result ) )
    {
    echo $row[id]."&nbsp;&nbsp;&nbsp;&nbsp;".$row[num]."<br>";
    //echo "{$row[id]}&nbsp;&nbsp;&nbsp;&nbsp;{$row[num]}<br>";}
    mssql_free_result($result);
    mssql_close($handler);
    ?>每次运行后表内num字段都加1了
    所以在处理拼接出来的sql语句的时候应该对非法字符比如";"和"--"判断一下
      

  5.   

    谢谢xiahouwen(活靶子.NET)可以我通过post方式传递这样参数(语句)
    Select * From Table1 Where id=1; Update Table1 Set name='aaa' ; --却出现这样的错误, 我把'换成\'也不行, 
    其实我是想利用这样漏洞执行语句, ASP的只要没有过滤非法字符就可以
    可是PHP好像自动对参数过滤,把 ' 处理为 \' ,是这样吗?Warning: Unknown(): message: 第 1 行: '\' 附件有语法错误. (severity 15) in Unknown on line 0Warning: Unknown(): Query failed in Unknown on line 0
      

  6.   

    数据库的问题呀,怎么怪得php或其它的语言了,不好意思了
      

  7.   

    好象以前看过有这个介绍,说是可以用SQL语句在硬盘上生成新的文件(当然要有足够的执行权限)。