小编Xeo*_*oss的帖子

如何以多次通过关系过滤SQL结果

假设我有表student,club以及student_club:

student {
    id
    name
}
club {
    id
    name
}
student_club {
    student_id
    club_id
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何找到足球(30)和棒球(50)俱乐部的所有学生.
虽然这个查询不起作用,但它是我迄今为止最接近的事情:

SELECT student.*
FROM   student
INNER  JOIN student_club sc ON student.id = sc.student_id
LEFT   JOIN club c ON c.id = sc.club_id
WHERE  c.id = 30 AND c.id = 50
Run Code Online (Sandbox Code Playgroud)

mysql sql postgresql relational-division sql-match-all

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

PostgreSQL:你能在CREATE TABLE定义中创建一个索引吗?

我想在创建时为表中的某些列添加索引.是否有办法将它们添加到CREATE TABLE定义中,或者我是否必须在其后使用其他查询添加它们?

CREATE INDEX reply_user_id ON reply USING btree (user_id);
Run Code Online (Sandbox Code Playgroud)

postgresql database-schema database-indexes

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

真的很好,坏的UTF-8示例测试数据

所以我们有XSS备忘单来测试我们的XSS过滤 - 但除了示例良性页面之外,我找不到任何恶意或格式错误的测试数据,以确保我的UTF-8代码可以处理行为不端的数据.

我在哪里可以找到一些好的呃......糟糕的数据来测试?或者什么是一个棘手的字符序列?

unicode utf-8

83
推荐指数
5
解决办法
8万
查看次数

MySQL,PostgreSQL和SQLite中数据库列类型的比较?(跨映射)

我试图找到一些方法来关联最常用的数据库中的列类型:MySQL,PostgreSQLSQLite.

这是我到目前为止所做的,但我担心它没有完成,我需要一些有更多经验的人来帮助我完成任何缺失的类型.

MySQL                   PostgreSQL          SQLite

TINYINT                 SMALLINT            INTEGER
SMALLINT                SMALLINT
MEDIUMINT               INTEGER
BIGINT                  BIGINT
BIT                     BIT                 INTEGER
_______________________________________________________

TINYINT UNSIGNED        SMALLINT            INTEGER
SMALLINT UNSIGNED       INTEGER
MEDIUMINT UNSIGNED      INTEGER
INT UNSIGNED            BIGINT
BIGINT UNSIGNED         NUMERIC(20)
_______________________________________________________

DOUBLE                  DOUBLE PRECISION    REAL
FLOAT                   REAL                REAL
DECIMAL                 DECIMAL             REAL
NUMERIC                 NUMERIC             REAL
_______________________________________________________

BOOLEAN                 BOOLEAN             INTEGER
_______________________________________________________

DATE                    DATE                TEXT
TIME                    TIME
DATETIME                TIMESTAMP
_______________________________________________________

TIMESTAMP DEFAULT       TIMESTAMP DEFAULT   TEXT
NOW()                   NOW()   
_______________________________________________________

LONGTEXT …
Run Code Online (Sandbox Code Playgroud)

mysql database sqlite postgresql types

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

你如何通过SSH编辑文件?

我用eclipse编程,有时使用像SciTE或vim这样的GUI文本编辑器.但是,我正处于一个项目中,需要我在80列SSH窗口中通过ssh连接编辑文件.

因为sudo vim在打开文件之前我必须(*颤抖*)我不知道如何在终端外的编辑器中打开文件(这样我就可以看到文本超过80列).如果命令行较大,那么我猜使用直接vim不会有问题.

我不知道如何处理这种情况以及如何将这个噩梦变成一个可管理的编码环境.

ssh terminal coding-style editor

64
推荐指数
5
解决办法
8万
查看次数

unix时间戳应该如何存储在int列中?

由于统计原因,我有一个包含数百万次写入的日志记录表.所有列都是int外键.我还要为每一行添加一个时间戳列.鉴于DATETIME占用8位 - 我将int(10) unsigned用于将存储空间(和该列上的索引)减少一半.

但是,我想知道这个专栏什么时候不再适用.在2038年1月19日凌晨3:14:07,值为9,999,999,999将是UNIX时间戳的问题 - 但MySQL中的unsigned int仅最多可容纳4,294,967,295,时间戳4294967295在我的PHP应用程序中显示无效数字.

那么这是什么意思?MySQL中存储int时间戳的结尾是否会在2021年的某个时间结束,因为它无法一直到9999999999?

回答:

  1. 2147483647是2038(不是9999999999)所以没有问题.
  2. unsigned 因为2147483647适合签名的MySQL int,所以不需要.

mysql datetime unix-timestamp

60
推荐指数
1
解决办法
7万
查看次数

你如何隐藏.git项目目录?

现在我有nginx设置,我需要能够隐藏我的.git目录.我需要什么样的重写才能停止窥探?哪里在server {}http {}块将它去?

regex git nginx

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

MySQL"文本"字段中有多少UTF-8文本?

据MySQL称,一text列有65,535个字节.

因此,如果这是一个合法的边界,那么它实际上只适合大约32k UTF-8字符,对吗?或者这是那些"模糊"边界,其中编写文档的人不能从字节中分辨字符,如果设置为类似的话,它实际上允许〜64k UTF-8字符utf8_general_ci

mysql utf-8

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

PHP DOM textContent vs nodeValue?

PHP DOMnode对象包含textContentnodeValue属性,它们似乎都是节点的innerHTML.

nodeValue:此节点的值,具体取决于其类型

textContent:此属性返回此节点及其后代的文本内容.

这两个属性有什么区别?什么时候使用一个而不是另一个?

html php dom

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

我在PHP应用程序中正确支持UTF-8吗?

我想确保我所知道的关于UTF-8的一切都是正确的.我一直试图使用UTF-8一段时间,但我不断遇到越来越多的错误和其他奇怪的事情,这使得看起来几乎不可能拥有100%的UTF-8网站.我似乎总是想念一个地方.也许这里有人可以纠正我的清单或者确定它,所以我不会错过任何重要的事情.

数据库

每个站点都必须在某处存储数据.无论您的PHP设置是什么,您还必须配置数据库.如果您无法访问配置文件,请确保在连接后立即" 设置名称'utf8' ".另外,请确保在所有表上使用utf8_ unicode_ ci.这假设MySQL是一个数据库,你必须为其他人改变.

正则表达式

我做了很多比你的普通搜索替换更复杂的正则表达式.我必须记住使用"/ u"修饰符,以便PCRE不会破坏我的字符串.然而,即便如此,显然仍然存在问题.

字符串函数

所有默认字符串函数(strlen(),strpos()等)都应该用多字节字符串函数替换,它们查看字符而不是字节.

标题 您应确保您的服务器返回正确的浏览器标题,以了解您尝试使用的字符集(就像您必须告诉MySQL).

header('Content-Type:text/html; charset = utf-8');

将正确的<meta>标记放在页眉中也是一个好主意.虽然实际的标题会覆盖它,但它们应该不同.

<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
Run Code Online (Sandbox Code Playgroud)

问题

我是否需要在页面加载时将我从用户代理(HTML表单和URI)收到的所有内容转换为UTF-8,或者我是否可以保留字符串/值,并且仍然可以通过这些函数运行它们而不会出现问题?

如果我确实需要将所有内容转换为UTF-8 - 那么我应该采取哪些步骤?mb_detect_encoding似乎是为此而建的,但我一直看到人们抱怨它并不总是有效.mb_check_encoding似乎也有问题从一个格式错误的字符串中告诉一个好的UTF-8字符串.

PHP是否会根据所使用的编码(如文件类型)以不同的方式将字符串存储在内存中,或者它是否仍然像常规字符串一样存储,其中某些字符的解释方式不同(例如& vs&in HTML). chazomaticus回答了这个问题:

在PHP中(无论如何最多为PHP5),字符串只是字节序列.没有与之相关的隐含或显式字符集; 这是程序员必须跟踪的东西.

如果给mb_*函数一个非UTF-8字符串会导致问题吗?

如果UTF字符串编码不正确会出错(比如正则表达式中的解析错误?)或者它只是将实体标记为坏(html)?有不正确编码的字符串是否有可能导致函数返回FALSE,因为字符串不好?

我听说你应该把你的表格标记为UTF-8(accept-charset ="UTF-8"),但我不确定它的好处是什么......?

编写UTF-16是为了解决UTF-8的限制吗?就像UTF-8用尽人物的空间一样?(Y2(UTF)K?)

功能

以下是我发现的一些自定义PHP函数,但我无法验证它们是否真正有效.也许某人有一个我可以使用的例子.首先是convertToUTF8(),然后是来自wordpress的seem_utf8.

function seems_utf8($str) {
    $length = strlen($str);
    for ($i=0; $i < $length; $i++) {
        $c = ord($str[$i]);
        if ($c < 0x80) $n = 0; …
Run Code Online (Sandbox Code Playgroud)

php unicode utf-8

40
推荐指数
2
解决办法
3314
查看次数