Tag: MySQL

基于另一个表值的MySQL更新表

我有两张桌子, 这是我的第一张桌子, ID SUBST_ID CREATED_ID 1 031938 TEST123 2 930111 COOL123 3 000391 THIS109 4 039301 BRO1011 5 123456 COOL938 … … … 这是我的第二张桌子, ID SERIAL_ID BRANCH_ID 1 039301 NULL 2 000391 NULL 3 123456 NULL … … … 我需要一些如何使用我的第一个表中的数据更新我的第二个表中的所有行。 这将需要在一个更新查询中完成。 SUBST_ID和SERIAL_ID都匹配,它需要从第一个表中获取created_id并将其插入到第二个表中。 所以第二张桌子会变成下面 ID SERIAL_ID BRANCH_ID 1 039301 BRO1011 2 000391 THIS109 3 123456 COOL938 […]

在mysql中增量更新值

对于所有行,我的表字段的一个字段设置为0。 但我想在更新查询中通过步骤1更新到增量值。 我怎么能在MySQL中做到这一点?

Mysql2 ::错误:不正确的string值

我有一个在生产模式下运行的Rails应用程序,但是当用户试图保存logging时,突然间出现了这个错误。 Mysql2::Error: Incorrect string value 更多细节(从生产日志): Parameters: {"utf8"=>"â<9c><93>" … Mysql2::Error: Incorrect string value: '\xC5\x99\xC3\xA1k Mysql2::Error: Incorrect string value: '\xC5\x99\xC3\xA1k 现在我看到了一些需要删除数据库并重新创build的解决scheme,但是我不能这么做。 现在mysql显示这个: mysql> show variables like 'char%'; +————————–+—————————-+ | Variable_name | Value | +————————–+—————————-+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results […]

在MySQL数据库中保存信用卡信息?

我想让我的客户用户input他们的信用卡信息,以便我可以每个月收费。 我想知道如何保存这些信息? 它应该保存在MySQL数据库(“用户”表)还是这种信息太敏感,需要存储在另一个地方? 我没有这方面的经验,会很高兴,如果有人能够指导我如何做到这一点。 谢谢。

在mysql中用逗号分隔所选值的string

我想在MySQL中将选定的值转换为逗号分隔的string。 我的初始代码如下: SELECT id FROM table_level where parent_id=4; 其中产生: '5' '6' '9' '10' '12' '14' '15' '17' '18' '779' 我所需的输出将如下所示: "5,6,9,10,12,14,15,17,18,779"

MySQL错误号121

我在MySQL创build中出现这个错误。 我正在做: CREATE TABLE `blogReply` ( `Id` INT(24) NOT NULL AUTO_INCREMENT COMMENT 'Primary Key of This Table', `blogId` INT(24) NOT NULL COMMENT 'Blog where this reply was posted', `userId` INT(24) NULL COMMENT 'User the blog was posted by', `name` VARCHAR(100) NULL DEFAULT 'Unknown' COMMENT 'The Name of the user that the reply was posted by', […]

将CreditCard信息存储到DataBase中的最佳实践

在我国,网上支付并不是一件老旧的事情,去年我第一次看到一个直接向当地银行账户付款的networking应用程序。 所以,我是一个新手编码networking支付系统。 我的问题是,什么是将信用卡信息存储到数据库中的最佳做法… 我有很多想法:encryption信用卡,数据库安全限制等。 你做了什么?

apache / php / mysql交互式浏览“如何制作香肠”

我无法理解apache / php / mysql堆栈如何在低级别上工作(包括与浏览器的交互)。 是否有一个很好的描述(书,网站等),将走过我的整个path,并解释如何开始浏览器reqesting一个url,HTTP请求正在发送,如何Apache与PHP会谈,如何PHP谈话mysql(持久性和非持久性连接)等等,我想了解什么在这个链中,什么时候处理超时,插口打开和closures多久。 一本书,一篇文章可能? 每个组件都有很多文档,但是我找不到“演练”。 到目前为止,我所做的解释是非常高层次的:看,这里是一头幸福的牛,去了牛津大学,看 – 这些都是收缩在超市货架上的。 我需要的是香肠农场/屠宰场/卡车/工厂参观,从母牛侮辱开始:) [更新]直到今天,我还没有find一个更好的方式来了解这些东西,而不是阅读来源。

可怕的“保持login”和会话检查

所以,我知道这已经被处死了,但是我所遇到的所有答案都是相互混淆/相互矛盾的,或者他们的解释是不完整的,我试图用自己的所有资源可用,但我想我已经迷路了。 我想一劳永逸地澄清这一点。 感谢您的耐心提前,因为这可能会有一点点啰嗦。 我的页面顶部有一个小的login框,如果用户没有login,它将保持不变。如果他们已经login,而不是login框,他们会看到一个问候与他们的名字。 会话检查 所以首先,这里是一个(到目前为止我的理解)如何检查用户可以访问“仅限会员”内容的图表。 (这段代码放在页面的顶部来检查和设置variables,如$loggedin = true; ) 现在,我的$_SESSION['loggedin']就是用户名。 据我的理解,会话可能是伪造或劫持在同一个域中,所以我知道这是非常不安全的(例如,攻击者可以以某种方式使会话包含不同的用户名,并且可以即时访问该用户的东西)不知道我应该如何检查会议。 我可以想象做到这一点的唯一方法是连接到数据库每次加载页面,并检查MD5哈希或从数据库中的东西(并更新它),但我想这会产生大量的不必要的服务器stream量,我几乎肯定有一个更好的方法来做到这一点。 在login 以下是用户login时发生的情况(以及是否显示问候语或login框)。 大多数情况下,我在这部分(我希望)是相当稳固的,但我不知道我的MD5哈希应该包含为了能够以后重新检查与数据库中的散列cookie和新生成的散列,以确保cookie没有被攻击者召唤。另外,正如下面的评论所述,我可能会放弃在散列中使用IP地址,以允许用户保持从多个位置login(例如,他们的电话和他们的笔记本电脑)。 所以我的问题是: 我应该怎么检查我的会话是不是假的? 我应该如何检查我的cookies不是假的? 检查到位后,我的login方法是否足够安全? 我有什么重要的东西被遗漏了吗? 如果有什么你想问的,请让我知道在评论中,我会很乐意编辑我的问题,尽可能多的信息,我可以提供。

如何使用Shift-JIS和CP932创buildSQL注入攻击?

我正在写一些unit testing,以确保我的代码不容易在各种字符集下的SQL注入。 根据这个答案 ,您可以通过使用以下字符集之一注入\xbf\x27来创build漏洞: big5 , cp932 , gb2312 , gbk和sjis 这是因为如果您的助手configuration不正确,它会看到0x27并尝试转义它,使其成为\xbf\x5c\x27 。 但是, \xbf\x5c实际上是这些字符\xbf\x5c的一个字符,因此引号( 0x27 ) \xbf\x5c转义。 但是,正如我通过testing发现的,这不完全正确。 它适用于big5 , gb2312和gbk但在sjis和cp932都不是0xbf27或cp932 。 都 mb_strpos("abc\xbf\x27def","'",0,'sjis') 和 mb_strpos("abc\xbf\x27def","'",0,'cp932') 返回4 。 即PHP不会将\xbf\x27看作单个字符。 这将返回false为big5 , gb2312和gbk 。 另外,这个: mb_strlen("\xbf\x5c",'sjis') 返回2 (它为gbk返回1 )。 所以,问题是:是否有另一个字符序列,使sjis和cp932容易受到SQL注入,或者他们实际上不是脆弱的? 或者说是PHP说谎,我完全错了,MySQL会完全不同的解释?