小编Lew*_*wis的帖子

使用array_filter或array_walk从数组中删除项目

我通常使用foreach循环从数组中删除一些项目.

foreach($array as $key=>$item){
    if($item == 'something'){
        unset($array[$key]);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是否可以通过array_walk或删除项目array_filter

php arrays

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

如果update()不可用,则以编程方式更新服务工作者

我如何以编程方式更新服务工作者,因为ServiceWorkerRegistration.update()尚未在Chrome中实现?还有其他选择吗?

updates service-worker

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

PDO - 插入数据库后获取行的最佳方法

我已经知道插入后获取行的方法.就像是:

//Right after insert into database
$id = $PDO->lastInsertId();
$lastrow = $PDO->query("SELECT * FROM table WHERE id=$id")->fetchObject();
Run Code Online (Sandbox Code Playgroud)

但是,我担心这不是最好的解决方案.在这种情况下有没有更好的方法?

php mysql pdo

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

IceCandidate和SDP是静态的吗?

IceCandidate和SDP是固定值吗?将它们存储在服务器数据库中而不是在每个连接上检索是一个好主意吗?如果更新这些数据是不可避免的,我应该在什么时候进行?

javascript candidate sdp webrtc

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

Yii - 从findAll循环一个数组

我正在尝试实现for循环以更新时间.

$files = File::model()->findAll('type="A" AND id='.$id);    
    function files($files,$limit=null){
        $limit = isset($limit) ? $limit : count($files);
        for($i=0;$i<=$limit;$i++){
            $files[$i]->date = date('Y:m:d H:i:s');
            $files[$i]->update();
        }
    }
Run Code Online (Sandbox Code Playgroud)

此函数返回错误undefined offset 1.

findAll方法的结果是什么?它是一个多维记录数组吗?我怎么能修复这个错误?

findall yii

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

在 php Web 应用程序上创建 NodeJS 聊天

我听说 NodeJS 是创建实时聊天应用程序的最佳选择。所以我决定尝试一下。

//on server side
//create nodejs server
var http = require('http');

var chatApp = http.createServer(function (request, response) {
    //create an html chat form listened by this nodejs server
    response.writeHead(200, {'Content-Type': 'text/html'});
    response.write('<script src="http://localhost/nodejs/app/socket.io.js"></script><script src="http://localhost/nodejs/app/chat.client.js"></script><input type="text" id="message_input"><div id="chatlog"></div>');
    response.end();
}).listen(8000);
//create websocket protocol via socket.io
var io = require('socket.io').listen(chatApp);
//send data to client
io.sockets.on('connection', function(socket) {
    socket.on('message_to_server', function(data) {
        io.sockets.emit("message_to_client",{ message: data["message"] });
    });
});
//on client side
//get data from server response
var socketio = io.connect();
socketio.on("message_to_client", function(data) …
Run Code Online (Sandbox Code Playgroud)

php node.js socket.io

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

白名单用户输入而不是使用预准备语句来阻止sql注入?

我读过几篇关于sql注入预防的文章.他们中的大多数建议使用预准备语句来防止sql注入和白名单只是一个额外的解决方案.我无法得到他们的观点.

恕我直言,白名单用户输入要好得多,因为它还可以防止XSS攻击.没有字符限制时,白名单是不可能的.这种情况很少发生.

让我们在nodejs中考虑这个例子.

准备好的声明

DB.query("UPDATE user SET username=?",username,cb);
Run Code Online (Sandbox Code Playgroud)

白名单

//assume that username is alphabetic
if(!/^[a-z]+$/.test(username)){
    throw new Error('Invalid user name');
}
DB.query("UPDATE user SET username='"+username+"'",cb);
Run Code Online (Sandbox Code Playgroud)

你们有什么感想?白名单或准备好的陈述?为什么不建议在准备好的语句上将用户输入列入白名单?

sql sql-injection

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

通过字符串调用对象的函数

请考虑以下代码:

class user{
    public function register(){
    }
}
Run Code Online (Sandbox Code Playgroud)

让我们假设我有两个变量:$class$func,分别是user和的值register.

如何register()使用这两个字符串作为标识符来调用函数?

php function

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