相关疑难解决方法(0)

PDO MySQL:是否使用PDO :: ATTR_EMULATE_PREPARES?

这是我到目前为止所读到的PDO::ATTR_EMULATE_PREPARES:

  1. PDO的准备仿真对性能更好,因为MySQL的本机准备绕过了查询缓存.
  2. MySQL的本机准备更好于安全性(防止SQL注入).
  3. MySQL的本机准备更适合错误报告.

我不知道这些陈述是多么真实.选择MySQL接口时我最担心的是阻止SQL注入.第二个问题是表现.

我的应用程序目前使用过程MySQLi(没有预处理语句),并且使用了很多查询缓存.它很少会在单个请求中重复使用预准备语句.我开始转向PDO以获取已准备好的语句的命名参数和安全性.

我正在使用MySQL 5.1.61PHP 5.3.2

我应该PDO::ATTR_EMULATE_PREPARES启用还是不启用?有没有办法既具有查询缓存的性能又具有预准备语句的安全性?

php mysql pdo

113
推荐指数
7
解决办法
5万
查看次数

Laravel / MySQL 错误:SQLSTATE[HY000]:一般错误:1835 格式错误的通信数据包

早上好。我在 VPS 服务器上使用 Laravel。

简短情况描述:昨天一切正常(几个月来我们的网站都运行良好),今天早上我从同事那里醒来,发现我们的两个网站都关闭了。

尝试访问它们时,我们收到错误消息:

SQLSTATE[HY000]:一般错误:1835 格式错误的通信数据包(SQL:select * from userswhere id= 1 limit 1)

我在网上查过,找不到解决办法。我试图将 MySQL 升级到最新版本 ( Maria DB 10.3)

我试图为数据库用户重置密码。(也没有变化)

我检查并尝试read_rnd_buffer_size=256K在 my.cnf 文件中为 mysql 设置设置sollution

当我尝试直接在 phpMyAdmin 中调用此函数时,select * from users where id = 1 limit 1它返回预期结果。

我将感谢每一个帮助,因为我们所有的业务都依赖于这些平台,我需要尽快让它们工作。

问候,阿蒂斯。

编辑:当我尝试禁用导致错误的功能时,它只显示下一个功能,等等。所以我相信Laravel根本无法与mysql连接。

经过深入研究,我发现只有 Laravel 无法连接到数据库。在同一台服务器上,我有 2 个 Laravel 应用程序、Codeigniter 和 wordpress。两个 Laravel 应用程序同时停止工作,但 codeigniter 和 wordpress 正常工作。

php mysql laravel

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

一般错误:1835 格式错误的通信数据包

突然,我在 Laravel Web 应用程序中遇到了这个错误。

PDOException in MySqlConnector.php line 38:

SQLSTATE[HY000]: General error: 1835 Malformed communication packet
Run Code Online (Sandbox Code Playgroud)

你能帮我解决这个问题吗?

php mysql malformed laravel

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

MySQL:ERROR 2027(HY000):格式错误的数据包

我无法远程连接MySQL服务器.连接似乎没问题因为使用telnet [ip] [port]我得到了回复:

__PRE__

由命令行或MySQL Workbench 6.3执行时

__PRE__

我得到同样的错误:
ERROR 2027(HY000):格式错误的数据包

mysql tcp

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

标签 统计

mysql ×4

php ×3

laravel ×2

malformed ×1

pdo ×1

tcp ×1