小编Ian*_*Ian的帖子

这个MySQL查询如何容易受到SQL注入攻击?

在对前一个问题的评论中,有人说下面的sql语句打开了我的sql注入:

select
    ss.*,
    se.name as engine,
    ss.last_run_at + interval ss.refresh_frequency day as next_run_at,
    se.logo_name    
from 
    searches ss join search_engines se on ss.engine_id = se.id
where
    ss.user_id='.$user_id.'
group by ss.id
order by ss.project_id, ss.domain, ss.keywords
Run Code Online (Sandbox Code Playgroud)

假设$userid变量被正确转义,这是如何使我容易受到攻击的,我该怎么做才能解决它?

mysql security sql-injection

4
推荐指数
2
解决办法
1023
查看次数

CodeIgniter表类:从生成的单元格添加链接

我正在使用从我的数据库中提取的数据数组为我自动生成表的表类.

型号:

function get_reports_by_user_id($userid)
{
    return $this->db->get_where('ss2_report',array('userid' => $userid))->result_array();
}
Run Code Online (Sandbox Code Playgroud)

控制器:

function index()
{
    echo $this->table->generate($this->mymodel->get_reports_by_user_id('1234'));
}
Run Code Online (Sandbox Code Playgroud)

当我使用它时,控制器最终将移动到视图.这会生成表格,但我想添加一个字段的链接.例如,id允许我链接到该报告的id的数据页面的列.我知道我可以手工输出老式的表格.然后我可以添加我想要的任何链接,但我希望能够尽可能多地使用自动生成.必须有一种方法来做一些像连接表格单元格那样常见的事情.有没有人有任何想法?

编辑:

用户Java PHP主要就在下面.这是使它工作的代码:

function get_reports_by_user_id($userid)
{
    $rows = $this->db->get_where('ss2_report',array('userid' => $userid))->result_array();

    foreach ($rows as $count => $row)
    {
        $rows[$count]['id'] = anchor('report/'.$row['id'],$row['id']);
    }
    return $rows;
}
Run Code Online (Sandbox Code Playgroud)

我只需要用锚文本版本替换原始数组中的值.

anchor code-generation codeigniter

4
推荐指数
1
解决办法
7377
查看次数

MySQL多表连接

我需要修改以下MySQL语句以包含来自第三个表的信息......但我很糟糕.

select
    ss.*,
    se.name as engine,
    ss.last_run_at + interval ss.refresh_frequency day as next_run_at,
    se.logo_name    
from 
    searches ss join search_engines se on ss.engine_id = se.id
where
    ss.user_id='.$user_id.'
group by ss.id
order by ss.project_id, ss.domain, ss.keywords
Run Code Online (Sandbox Code Playgroud)

我还需要包括检索projects.project_name通过匹配searches.project_idprojects.id.

mysql join

3
推荐指数
1
解决办法
4346
查看次数

jQuery幻灯片切换不工作 - 已解决

在第一次单击时,它按预期工作:

  1. 班级改变了
  2. 并且html内容从"显示..."更改为"关闭..."
  3. 使用slideDown效果扩展内容区域,

目前很好.

在第二次点击,...

  1. 班级改变了
  2. html内容从"关闭..."更改为"显示..."
  3. 内容区域不会按预期消失.

在第三次点击,...

  1. 班级改变了
  2. html内容已更改
  3. 已经显示的内容以滑动效果重新显示.

因此,当内容应该再次隐藏时,除了第二次单击之外,一切正常.

这是jQuery:

-

$('.open_user_urls').live('click', function() {
    $('#user_urls').slideDown('slow');
    $(this).addClass('close_user_urls');
    $(this).removeClass('open_user_urls');
    $(this).html('Close Search History');
    return false;
});

$('.close_user_urls').live('click', function() {
    $('#user_urls').slideUp('slow');
    $(this).addClass('open_user_urls');
    $(this).removeClass('close_user_urls');
    $(this).html('Show Search History');
    return false;
}); 
Run Code Online (Sandbox Code Playgroud)

这是它所采用的HTML:

<h3 class='open_user_urls'>Show Search History</h3>
<div id='user_urls'>
// an OL tag with content
</div>
Run Code Online (Sandbox Code Playgroud)

唯一适用的CSS:

#user_urls { display: none; }
Run Code Online (Sandbox Code Playgroud)

编辑 - 我用下面的答案中提供的功能等效代码替换了我的jquery代码,但问题仍然存在.所以原因必须在别处.我记得这个代码最初工作,但后来停止了.我很难过.是时候把一切都剥掉了......

编辑2 - 由于bug必须在别处,我接受我的jquery的代码改进作为答案.谢谢.

编辑3 - 找到问题的根源.

在#user_urls div中,我有一系列带有以下css的OL:

.url_list {float: left; width: 285px; list-style-position: outside; margin-left: 25px;} …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

3
推荐指数
2
解决办法
2万
查看次数

MySQL Query查找订购了两种特定产品的客户

我无法提出查询,找到所有购买了PROD1和PROD2的客户.

这是一个伪查询,看起来像我想做的事情:(显然这不起作用)

SELECT COUNT(DISTINCT userid) 
  FROM TRANSACTIONS 
 WHERE product_id = 'prod1' 
   AND product_id = 'prod2'
Run Code Online (Sandbox Code Playgroud)

因此,基本上我正在尝试计算transactions表中包含product_id' prod1'和' prod2' 的事务的不同用户ID的数量.每个事务都存储在transactions表中的一行中.

mysql sql

3
推荐指数
2
解决办法
1万
查看次数

jQuery onclick函数没有触发

我有一个"链接",点击后会显示满满的内容.单击后,"打开"按钮将变为具有关闭功能的"关闭"按钮.

这是jQuery:

$(document).ready(function(){


    $('.open_user_urls').click(function() {
            $('#user_urls').slideDown('slow');
            $('.open_user_urls').addClass('close_user_urls');
            $('.open_user_urls').removeClass('open_user_urls');
            $('.close_user_urls').html('Close Search History');
            return false;
        }
    );

    $('.close_user_urls').click(function() {
            $('#user_urls').slideUp('slow');
            $('.close_user_urls').addClass('open_user_urls');
            $('.close_user_urls').removeClass('close_user_urls');
            $('.open_user_urls').html('Show Search History');
            return false;
        }
    );

});
Run Code Online (Sandbox Code Playgroud)

它在第一次点击时按预期工作.显示div,html内容更改为新文本,并在链接上更改类.

但再次点击关闭它什么也没做.如果我将.close__user_urls单击功能粘贴到Firebug控制台,运行它,然后单击,它会按预期关闭.

有任何想法吗?

jquery

2
推荐指数
1
解决办法
669
查看次数

修复相对于浏览器Chrome的HTML页面元素

我正试图在页面的左上角放置一个div,我想让它留在那里,无论浏览器窗口大小调整或页面滚动.

如何使用纯CSS(如果可能)或使用jQuery执行此操作?

html css jquery css-position

2
推荐指数
1
解决办法
1544
查看次数

PHP添加一系列分钟:秒

我有一个视频片段持续时间列表,我需要加起来才能获得总持续时间.

这个系列是这样的:

  • 0:33
  • 4:30
  • 6:03
  • 2:10

...等等

我需要加上分钟和秒来获得总视频时长.


这是我接受的答案的修改功能:

function getTotalDuration ($durations) {
    $total = 0;
    foreach ($durations as $duration) {
        $duration = explode(':',$duration);
        $total += $duration[0] * 60;
        $total += $duration[1];
    }
    $mins = floor($total / 60);
    $secs = str_pad ( $total % 60, '2', '0', STR_PAD_LEFT);
    return $mins.':'.$secs;
}
Run Code Online (Sandbox Code Playgroud)

只是确保输出看起来正确.

php math time

2
推荐指数
1
解决办法
2251
查看次数

如何让这个jQuery函数更优雅?

在我的页面上,我有一个下拉选择框,默认值为(空).当用户选择条目时,将显示该条目类型的相应表单.

几个问题..

  1. 代码不是DRY,看起来比它需要的更冗长,因此不易维护/可扩展.
  2. 当用户选择某些内容,填写表单,转到下一页,然后点击"返回"按钮时,会根据自己的选择预先选择选择字段,但由于没有.change()事件,因此不会显示表单框.他们必须选择不同的<option>,然后点击回到他们原来的选择,让他们的论坛回来.

这是代码:

<script type="text/javascript">
    $(document).ready(function(){

        $('#select_type').change(function () {
            $('fieldset').css('display','none'); # hide all the forms on the page
            var selectval = $('#select_type').val();
            if (selectval == 'instance')
            {
                $('#instance').toggle();
            }
            if (selectval == 'mob')
            {
                $('#mob').toggle();
            }
            if (selectval == 'dailyquest')
            {
                $('#dailyquest').toggle();
            }
            if (selectval == 'repeatablequest')
            {
                $('#repeatablequest').toggle();
            }
            if (selectval == 'zonequest')
            {
                $('#zonequest').toggle();
            }
            if (selectval == 'reward')
            {
                $('#reward').toggle();
            }
        });

    });
</script>
Run Code Online (Sandbox Code Playgroud)

帮助JS的大师!

html javascript forms jquery html-select

0
推荐指数
2
解决办法
423
查看次数

可以使用哪些索引来改进此查询?

此查询选择特定日期范围内的所有唯一访问者会话:

select distinct(accessid) from accesslog where date > '2009-09-01'
Run Code Online (Sandbox Code Playgroud)

我有以下字段的索引:

  • ACCESSID
  • 日期
  • 其他一些领域

这是解释的样子:

mysql> explain select distinct(accessid) from accesslog where date > '2009-09-01';
+----+-------------+-----------+-------+----------------------+------+---------+------+-------+------------------------------+
| id | select_type | table     | type  | possible_keys        | key  | key_len | ref  | rows  | Extra                        |
+----+-------------+-----------+-------+----------------------+------+---------+------+-------+------------------------------+
|  1 | SIMPLE      | accesslog | range | date,dateurl,dateaff | date | 3       | NULL | 64623 | Using where; Using temporary |
+----+-------------+-----------+-------+----------------------+------+---------+------+-------+------------------------------+


mysql> explain select distinct(accessid) from accesslog;
+----+-------------+-----------+-------+---------------+----------+---------+------+---------+-------------+
| …
Run Code Online (Sandbox Code Playgroud)

mysql indexing optimization distinct

0
推荐指数
1
解决办法
203
查看次数