小编Bil*_*win的帖子

(int)php和mysql注入

我知道保护您的网站免受SQL注入的最安全方法是使用Prepared Statements.但是,如果用户输入转换为数字,有人可以解决这个问题?

$id = (int)$_GET['id'];
Run Code Online (Sandbox Code Playgroud)

php mysql sql-injection

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

如何在MySql中对分区进行排名

我是新使用 MySql 数据库,我面临的问题是如果在 SQL 服务器数据库中我可以解决它,但我不能在 mysql 中这样做,这在我的情况下

我的表:

Name    Price
abs     100
abs     200
abs     60
trx     19
trx     20
abs     10
qwe     25
qwe     50
qwe     10
qwe     10
Run Code Online (Sandbox Code Playgroud)

预期结果:

Name    Price   Rank
abs      200    4
abs      100    3
abs      60     2
abs      10     1
qwe      50     4
qwe      25     3
qwe      10     2
qwe      10     1
trx      20     2
trx      19     1
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我如何使用 Mysql 进行像索引结果图片这样的查询

mysql window-functions

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

在 MariaDB 中使用 ROW_NUMBER() 函数的问题

我想在选择表输出中有一个行号列,但是当我尝试使用 ROW_NUMBER() 函数时,MariaDB 会引发语法错误。网上有几个参考资料(http://www.mysqltutorial.org/mysql-window-functions/mysql-row_number-function/)但到目前为止我还没有成功。这是我的 MariaDB 表的一部分:

+---------------------+------------+  
| date_reading        | temp_patio |
|---------------------+------------+  
| 2019-09-03 06:26:00 |       17.6 |  
| 2019-09-03 06:33:00 |       17.5 |  
| 2019-09-03 06:40:00 |       17.5 |  
| 2019-09-03 06:46:00 |       17.5 |  
| 2019-09-03 06:53:00 |       17.4 |  
| 2019-09-03 07:00:00 |       17.4 |  
| 2019-09-03 07:07:00 |       17.4 |  
| 2019-09-03 07:13:00 |       17.4 |
Run Code Online (Sandbox Code Playgroud)

文档说“ OVER()”选项的选项是可选的,但我已经尝试过有和没有OVER()子句以及有和没有ORDER BY子句。

这是我的选择命令:

select ROW_NUMBER() OVER ( ) as Therow, * from MyData …

mariadb window-functions

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

SQL 标准中是否存在 INTERSECT 运算符?

SQL 标准中是否存在 INTERSECT 运算符?如果存在,它是可选运算符吗?

请留下一个可靠的来源。

sql ansi-sql intersect

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

MySQL 在结果集中添加缺失的月份

我正在尝试在此结果集中添加缺失的月份。

如果缺少月份,请添加Quantita值 0 。

SELECT MONTH(Data) AS Mese,Count(*) AS Quantita 
FROM prenotazioni 
WHERE Cancellata IS NULL 
AND FKCampo = 1 
AND YEAR(Data) = YEAR(CURDATE()) -1 
GROUP BY Mese 
ORDER BY Mese ASC 


+------+----------+
| Mese | Quantita |
+------+----------+
| 4    | 123      |
+------+----------+
| 5    | 100      |
+------+----------+
| 7    | 377      |
+------+----------+
| 9    | 54       |
+------+----------+
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

开始...每50行提交一次

我有一个500,000行的sql脚本.

update users set region_id = 9814746 where id = 101 and region_id is null;
update users set region_id = 9814731 where id = 102 and region_id is null;
update users set region_id = 3470676 where id = 103 and region_id is null;
...
....
Run Code Online (Sandbox Code Playgroud)

我需要能够生成一个脚本,每50行开始...提交.我该怎么做呢?我将在pg-admin中运行它.

谢谢,沙拉多夫

postgresql

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

加速使用WHERE id IN的查询

这是一个大约需要5-6秒的查询.内部部件仅需约50毫秒.

SELECT id,messages.to,messages.from,message,datetime,messages.read
FROM messages WHERE id IN(   //inside brackets grabs a list of IDs

    SELECT max(messages.id) FROM
        (SELECT id,messages.from FROM messages
        WHERE messages.to = 'username' AND messages.from != 'username'
        UNION
        SELECT id,messages.to FROM messages WHERE
        messages.from = 'username' AND messages.to != 'username')
    AS x
    LEFT JOIN messages ON messages.id = x.id
    GROUP BY x.from)

ORDER BY id DESC
LIMIT 15
Run Code Online (Sandbox Code Playgroud)

这是一个查询,它会提取最近有人发送消息的用户列表,以及两者之间的最后一条消息.我怎样才能更改它以便更快?也许没有id IN.也许多个查询?

mysql sql database greatest-n-per-group

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

无法解密密码

我最近决定对我的密码使用更安全的密码。调用mc_encrypt($encrypt)方法返回加密的密码后,我对密码进行加密没有问题 。

通过调用进行解密时mc_decrypt($decrypt),该方法返回false。如您在mc_decrypt($decrypt)方法中所见,底部附近有一个if语句。我无法通过if语句。有谁知道我可以改变以获得$calcmac!==$mac真实的回报?谢谢

<?php

    class Encrypt {
    public $encryptionKey = 'xxxxxxx';

    public function __construct() {
    define('ENCRYPTION_KEY', $this->encryptionKey);
    }

    // Encrypt Function
    public function mc_encrypt($encrypt){
        $encrypt = serialize($encrypt);
        $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC), MCRYPT_DEV_URANDOM);
        $key = pack('H*', $this->encryptionKey);
        $mac = hash_hmac('sha256', $encrypt, substr(bin2hex($key), -32));
        $passcrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $encrypt.$mac, MCRYPT_MODE_CBC, $iv);
        $encoded = base64_encode($passcrypt).'|'.base64_encode($iv);
        return $encoded;
    }

    // Decrypt Function
    public function mc_decrypt($decrypt){
        $decrypt = explode('|', $decrypt);
        $decoded = base64_decode($decrypt[0]);
        $iv = base64_decode($decrypt[1]);
        $key …
Run Code Online (Sandbox Code Playgroud)

php encryption-symmetric

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

如何解决 SELECT 列表不在 GROUP BY 子句中且包含非聚合的问题?

我在 MYSQL 5.7 上收到此请求的错误。如何解决这个错误?

#1055 - SELECT 列表的表达式 #3 不在 GROUP BY 子句中,并且包含非聚合列“test.c.customers_group_id”,该列在功能上不依赖于 GROUP BY 子句中的列;这与 sql_mode=only_full_group_by 不兼容

select  SQL_CALC_FOUND_ROWS  c.customers_firstname, 
                             c.customers_lastname, 
                             c.customers_group_id,
                             sum(op.products_quantity * op.final_price) as ordersum 
from customers c,
     orders_products op,
     orders o
where c.customers_id = o.customers_id 
and o.orders_id = op.orders_id 
group by c.customers_firstname, 
         c.customers_lastname 
order by ordersum DESC
Run Code Online (Sandbox Code Playgroud)

mysql mysql-error-1055

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

如何绕过sql中的检查约束

模式

\n
   create table course\n        (course_id  varchar(8), \n         title      varchar(50), \n         dept_name  varchar(20),\n         credits    numeric(2,0) check (credits > 0),\n         primary key (course_id),\n         foreign key (dept_name) references department (dept_name)\n            on delete set null\n        );\n
Run Code Online (Sandbox Code Playgroud)\n

我想将此数据添加到表中,但无法添加 0 学分。

\n
\n

\xe2\x80\x9cCS-001\xe2\x80\x9d,标题为\xe2\x80\x9c每周研讨会\xe2\x80\x9d,0学分

\n
\n

插入查询

\n
INSERT INTO `course`(`course_id`, `title`, `credits`) VALUES (\'CS-001\',\'Weekly Seminar\',\'0\');\n
Run Code Online (Sandbox Code Playgroud)\n

查询结果: \n这里

\n

有没有其他方法可以在不改变表结构的情况下插入相同的数据?

\n

mysql check-constraints

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