小编eze*_*ero的帖子

使用PDO预处理语句插入多行

我想知道是否可以使用一个预准备语句插入多行.下面是我通常如何在db中插入一行的示例:

$params=array();
$params[':val1']="val1";
$params[':val2']="val2";
$params[':val3']="val3";
$sql="INSERT INTO table VALUES (col1,col2,col3) VALUES (:val1,:val2,:val3)";
$stmt=DB::getInstance()->prepare($sql);
$stmt->execute($params);
Run Code Online (Sandbox Code Playgroud)

我想插入的值将来自一个数组,例如:$ values [0] ['val1']; $值[0] [ 'val2的']; $值[0] [ 'VAL3']; $值[1] [ 'VAL1']; $值[2] [ 'val2的'];

等等

这段代码可能必须一次插入几百行,我想创建一个循环来创建数百个参数,然后为每行附加一个额外插入的sql语句,但我认为必须有更好的方法.最好的方法是什么?

php mysql pdo prepared-statement

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

json值内的单引号

Javascript无法读取此json字符串,因为它包含单引号字符,它将其视为字符串的结尾.

如何逃避单引号,以便它不被视为字符串的结尾?

var json = '{"1440167924916":{"id":1440167924916,"type":"text","content":"It's a test!"}}';

var parsed = JSON.parse(json);
Run Code Online (Sandbox Code Playgroud)

javascript formatting json

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

AWS S3 预签名请求缓存

我想将用户个人资料图片存储在 S3 存储桶中,但将这些图像保密。为了做到这一点,每当需要图像时,我都会创建一个预签名的 URL。然而,这每次都会创建一个唯一的 url,这意味着浏览器永远不会缓存图像,并且我最终会在 GET 请求中支付更多费用。

这是我生成 url 的代码示例,我使用 Laravel:

$s3 = \Storage::disk('s3');
$client = $s3->getDriver()->getAdapter()->getClient();
$expiry = new \DateTime('2017-07-25');

$command = $client->getCommand('GetObject', [
    'Bucket' => \Config::get('filesystems.disks.s3.bucket'),
    'Key'    => $key
]);

$request = $client->createPresignedRequest($command, $expiry);

return (string) $request->getUri();
Run Code Online (Sandbox Code Playgroud)

我认为通过指定日期时间而不是时间单位,它会创建相同的网址,但实际上会在网址中添加剩余的秒数,下面是一个示例:

xxxx.s3.eu-west-2.amazonaws.com/profile-pics/92323.png?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AXXXXXXXXXX% 2Feu-west-2%2Fs3%2Faws4_request&X-Amz-Date=20170720T112123Z&X-Amz-SignedHeaders=主机&X-Amz-Expires=391117&X-Amz-Signature=XXXXXXXXX

是否可以生成可重复的预签名请求 URL,以便用户浏览器可以缓存图像?

php caching amazon-s3 amazon-web-services aws-sdk

10
推荐指数
2
解决办法
5507
查看次数

Laravel DecryptException - 有效负载无效

我发送一个AJAX帖子请求回到我的Laravel API并收到此错误消息:

compile.php第13235行中的DecryptException:有效负载无效.

我正在从cookie中读取XSRF-TOKEN并将其作为名为X-XSRF-TOKEN的请求头发送.

该站点是Laravel API中完全独立的站点,但共享相同的会话,这就是我从cookie获取值的原因.

奇怪的是,它偶尔会起作用.是什么原因引起了这个?

php api cookies laravel

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

Webaudio振荡器停止()回调

在Web音频振荡器上调用stop()时,振荡器节点只会挂起,断开连接和未使用.

如果我告诉振荡器在2秒内停止:

oscillator.stop( audioCtx.currentTime + 2 );
Run Code Online (Sandbox Code Playgroud)

有没有办法设置回调,所以我可以在stop()运行后立即删除振荡器?

我想过使用一个带有停止时间加上半秒左右的setTimeout但最终可能会删除错误的振荡器.

javascript web-audio-api

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