我不小心在存储之前停止了散列密码,所以现在我的数据库混合了MD5密码和未散列的密码.
我想循环并散列不是MD5的那些.是否可以检查字符串是否是MD5哈希?
这种事情之前曾被问过几次,但并不是我想要的.我需要SET两行等于子查询的不同部分.
我目前正在使用:
UPDATE records
SET leads=(SELECT COUNT(*) FROM leads_table WHERE leads_table.blah=records.blah),
earnings=(SELECT SUM(amount) FROM leads_table WHERE leads_table.blah=records.blah)
Run Code Online (Sandbox Code Playgroud)
WHERE语句显然已经简化了......但基本上它是相同的子查询但我不认为我应该运行它两次?
我想做点什么......
UPDATE records
SET (leads,earnings)=(SELECT COUNT(*),SUM(amount) FROM leads_table WHERE leads_table.blah=records.blah)
Run Code Online (Sandbox Code Playgroud) 我希望epc列始终是earnings/ clicks.我正在使用AFTER UPDATE触发器来完成此操作.因此,如果我要向此表添加100次点击,我希望EPC能够自动更新.
我在尝试这个:
CREATE TRIGGER `records_integrity` AFTER UPDATE ON `records` FOR EACH ROW SET
NEW.epc=IFNULL(earnings/clicks,0);
Run Code Online (Sandbox Code Playgroud)
并收到此错误:
MySQL said: #1362 - Updating of NEW row is not allowed in after trigger
Run Code Online (Sandbox Code Playgroud)
我也试过使用OLD但也出错了.我可以在之前做,但如果我添加了100次点击,它会使用之前的#次点击触发(对吗?)
我该怎么做才能做到这一点?
编辑 - 将在此上运行的查询示例:
UPDATE records SET clicks=clicks+100
//EPC should update automatically
Run Code Online (Sandbox Code Playgroud) 我为此设置了一个单独的FTP帐户.
这是信息:
FTP Username: ahk@proflightsimulatoreview.com
FTP Server: ftp.proflightsimulatoreview.com
FTP Server Port: 21
FTP Password: ahktest
Text file i want to upload: C:\Users\Kyle\Desktop\ftptest\thetest.txt
Run Code Online (Sandbox Code Playgroud)
请告诉我如何使用批处理.我的理解是你使用FTP命令创建一个单独的txt文件,然后使用批处理文件来运行它.好吧,我必须没有插入信息,因为它不起作用.
所以我在这里给你提供信息.请告诉我如何上传文本文件.
我运行了一个广告服务器,该服务器提供多个静态文件,例如“ ads.js”。使用cloudfront和s3存储桶,您可以像以下方式访问此文件:
http://bucket.mydomain.com/assets/ads.js
我有数百个客户,其中许多客户想使用自己的镜像域来服务资产:
http://bucket.theirdomain.com/assets/ads.js
通过制作指向的CNAME别名DNS记录来bucket.theirdomain.com进行此操作bucket.mydomain.com。
但是,我必须在Amazon AWS Cloudfront设置中手动添加每个域。对于每个要执行此操作的客户端,我必须添加一个“ 备用域名(CNAME)”部分。*.theirdomain.com
有没有办法允许所有域?还是应该制作某种重新路由脚本?如果DNS跳过了云端,直接进入了存储桶,那我就可以了。现在,我收到“错误:无法满足该请求。” 直到我将Cloudfront的域列入白名单。
我想在子类中编写一个简单的函数,它只返回它自己的键(而不是父类)。
class Parent{
protected _parentAttribute!: string;
constructor() {
this._parentAttribute='test';
}
}
class Child extends Parent{
childAttribute!: string;
constructor() {
super();
console.log("My unique child keys are:", Object.keys(this));
}
}
let child=new Child();
Run Code Online (Sandbox Code Playgroud)
结果:
My unique child keys are: [_parentAttribute,childAttribute]
期望的结果:My unique child keys are: [childAttribute]
这可能吗?
当没有值相同时,我得到一个非常奇怪的重复输入错误...
INSERT INTO offer_status (id,user_id,sql_id,disabled)
VALUES ('8854011812','8854','11812','0')
Run Code Online (Sandbox Code Playgroud)
返回:
#1062- 键'PRIMARY'的重复条目'2147483647'
这对我来说根本没有意义!
注意:此代码通常不会执行,我只是尝试调试.通常在我的PHP中我有:
$offer=$campid;
$id=$user_id.'0'.$offer;
$sql="INSERT INTO offer_status (id,user_id,sql_id,disabled) VALUES (?,?,?,?)
ON DUPLICATE KEY UPDATE disabled=VALUES(disabled)";
$db->prepare($sql)->execute(array($id, $user_id, $offer, 0));
Run Code Online (Sandbox Code Playgroud)
id是主键.这里发生了什么?
补充:结果DESC offer_status:
Field Type Null Key Default Extra
id int(12) NO PRI NULL
user_id int(12) NO NULL
sql_id int(12) NO MUL NULL
favor tinyint(4) NO 0
disabled tinyint(4) NO 0
pref int(2) NO 0
Run Code Online (Sandbox Code Playgroud) 很简单的问题,但我找不到答案.
假设我有表var的列foo和bar,这两者都是整数,目前为0.
如果我跑:
UPDATE var SET foo=foo+1, bar=foo+1
那会是什么价值bar?1还是2?
如果我切换订单会改变吗?
UPDATE var SET bar=foo+1, foo=foo+1
我的服务器上有这两个文件:
/react/build/static/js/stats.js
和
/react/build/static/js/main.5c7483.js
在该stats.js文件中,底部有这一行:
//# sourceMappingURL=main.8c33616f.js.map(我注意到文件名不匹配)
React 应用程序运行良好,但我想进行一些小的更改。然而,开发人员告诉我,由于硬盘故障,他们完全丢失了原始源文件。
是否可以恢复源文件(甚至任何类似于源代码的文件?)我找到了这个解捆绑包,但无法使配置正常工作。
他们告诉我该项目是使用create-react-app.
在 Chrome 开发工具中,它显示“检测到源映射” - 但使用ctrl+p不显示任何组件。只是一些随机的 js 文件,如 page.js、inject.js、common.js 等
我有一个用于处理SQL的通用函数.我收到这个错误(一天只有几次,不经常).
PHP Catchable fatal error: Object of class PDO could not be converted to string in...
Run Code Online (Sandbox Code Playgroud)
基本上,为我正在使用的函数传递一个值数组,并且我必须在我的代码中滑落并在该数组中放置一个PDO对象.
我需要创建一个array_filter函数来检查变量是否是PDO对象.我如何为此做一个简单的if语句?
if($var == PDO)
Run Code Online (Sandbox Code Playgroud)
编辑:谢谢你的答案!如果有人有兴趣,这就是我解决问题的方法.我能够找到无效输入的来源.
$before=$original_array;
$after = array_filter($before, "find_error");
if(count($before)!=count($after)){
$error=print_r(debug_backtrace(false),true);
$arr=print_r($before,true);
send_message("admin@email.com","Error Report",$arr.$error);
//send_message is a simple function for sending emails. You could also write information to a txt file, etc.
}
function find_error($var){
return !($var instanceof PDO);
}
Run Code Online (Sandbox Code Playgroud)