小编Tra*_*vis的帖子

PDO,mysql,事务和表锁定

为了好玩,我正在用PDO替换我的应用程序中的mysqli扩展.

有一段时间我需要使用事务+表锁定.

在这些情况下,根据mysql手册,语法需要有点不同.你没有调用START TRANSACTION,而是这样做......

SET autocommit=0;
LOCK TABLES t1 WRITE, t2 READ, ...;
... do something with tables t1 and t2 here ...
COMMIT;
UNLOCK TABLES;
Run Code Online (Sandbox Code Playgroud)

(http://dev.mysql.com/doc/refman/5.0/en/lock-tables-and-transactions.html)

我的问题是,它如何与PDO :: beginTransaction交互?在这种情况下我可以使用PDO :: beginTransaction吗?或者我应该手动发送sql"SET autocommit = 0; ... etc".

感谢您的建议,

php mysql pdo locking transactions

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

PDO位置和命名参数作为同一个准备查询的一部分?

我正在学习PDO的绳索.

这是我的sql(WHERE中可以出现的参数数量是变量).

    SELECT
        ID, title

    FROM
        table

    WHERE
        something = ?

    ORDER BY 
        :sort :dir 

    LIMIT 
        :start, :results
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

        $query = $conn->prepare($sql);

        if ($parameters) {

            $i = 0;
            foreach ($parameters AS $parameter) {

                $i++;
                $query->bindParam($i, $parameter);

            }

        }

        $query->bindParam(':start', $pagination['start'], PDO::PARAM_INT);
        $query->bindParam(':results', $pagination['results'], PDO::PARAM_INT);
        $query->bindParam(':sort', $pagination['sort']);
        $query->bindParam(':dir', $pagination['dir']);

        $query->execute();
Run Code Online (Sandbox Code Playgroud)

......以下是它生成的例外情况:

 Invalid parameter number: mixed named and positional parameters
Run Code Online (Sandbox Code Playgroud)

是否无法在同一查询中组合位置参数和命名参数?或者我错过了什么?

谢谢!

php mysql pdo prepared-statement

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

mysqli预处理语句和mysqli_real_escape_string

我目前正在使用mysqli php扩展.

传统上我使用mysqli_real_escape_string来逃避用户输入.但是,我正在考虑更改代码(希望尽可能少的步骤)来使用预准备语句.

我想明确这一点 - 假设我使用预处理语句来绑定我的所有变量,我可以确信sql注入是不可能的吗?(并完全免除mysqli_real_escape_string?)

谢谢

php mysqli sql-injection prepared-statement

7
推荐指数
2
解决办法
3757
查看次数

php应用程序的预构建登录/身份验证组件?

我知道之前已经问过这个问题,但我没有找到任何看似理想的答案.

我有一个需要登录系统的php应用程序.我无论如何都不是加密专家,而且我对重新发明轮子很谨慎,这种轮子无疑已经多次发明,而且非常好.

我想知道是否有人知道一个好的身份验证组件,可以很容易地集成到现有脚本中,该脚本遵循所有最佳实践,并且当与ssl登录结合使用时,将满足所有合理的安全要求.

我更喜欢一个独立的组件,而不是必须设置某种类型的整个框架.(该应用程序的其余部分不使用框架,我不喜欢必须使用一个框架,只是为了验证.)

谢谢你的帮助,

php security authentication ssl login

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