相关疑难解决方法(0)

mysqli或PDO - 有什么优缺点?

在我们的位置,我们将使用mysqli和PDO分为准备语句和事务支持之类的东西.有些项目使用一个,另一个项目.我们很难有可能转移到另一个RDBMS.

我更喜欢PDO,因为它允许为预准备语句提供命名参数,据我所知,mysqli没有.

在我们整合项目时只使用一种方法,是否还有其他优点和缺点选择其中一种作为标准?

php mysql mysqli pdo database-abstraction

342
推荐指数
10
解决办法
13万
查看次数

PHP:mysql v mysqli v pdo

我一直在阅读有关使用mysqli与pdo在php中使用mysql的一些问题.

我见过诸如mysqli或PDO之类的问题 - 有什么优缺点?或者从mysql迁移到mysqli或pdo?,两者都专门处理mysqli v pdo.我对这两种方法中的哪一种更好更感兴趣.

我想知道为什么应该避免mysql_函数.当然,他们正在按照PHP的文档http://php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated弃用,PHP PDO和MySQLi的线程 建议PDO和MySQLi更强大,线程MySQL,MySQLi和PDO有什么区别?暗示这些新方法更安全.

总的来说,我想知道mysql_方法的主要缺点是什么,以及避免它的原因(我猜更具体而不仅仅是因为它已被弃用).我打算更新受影响的脚本,并对这个旧方法被弃用的原因感到好奇.

谢谢!

php mysql mysqli pdo

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

MySQL与PDO

我是PHP的新手,并使用标准的MySQL数据库调用构建了一个中型网站.但是,我最近了解了PDO,我希望从社区中了解是否值得从MySQL切换到PDO.为了安全起见,我一直在使用mysql_real_escape_string.

关于网站的信息:
我正在使用混合INSERTSELECT通话.从SELECT调用返回的数据量不大(使用时返回的记录不超过30条LIMIT).也不会有很多INSERTs.该网站目前尚未上线,因此现在进行更改很容易.

在您的专业意见中,是否值得花时间将站点从MySQL切换到PDO?或者和MySQL一样好吗?或者换句话说,现在切换到PDO的原因是什么?

mysql pdo

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

使用PHP防止注入SQL

因为我的陈述是这样的

"SELECT * FROM `box` WHERE `thing` = '{$variable}'
Run Code Online (Sandbox Code Playgroud)

我可以简单地清理它

$variable = str_replace("'","\'",$variable);
"SELECT * FROM `box` WHERE `thing` = '{$variable}'
Run Code Online (Sandbox Code Playgroud)

那会有用吗?我的主机不支持mysql转义,我不使用mysqli.

php mysql sql code-injection

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

mysql_real_escape_string()的问题

几天前我开始学习编码,我遇到了一些mysql_real_escape_string的问题,特别是login.php.

错误消息:

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'elegant'@'localhost' (using password: NO) in /home/elegant/public_html/php/login.php on line 3

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the     server could not be established in /home/elegant/public_html/php/login.php on line 3

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'elegant'@'localhost' (using password: NO) in /home/elegant/public_html/php/login.php on line 4

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/elegant/public_html/php/login.php on line 4
Please enter a username and a password
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止的代码 - 这段代码在localhost中工作但是一旦我把它放在网上并导入了数据库表,它就给了我一些问题:

<?php

$username …
Run Code Online (Sandbox Code Playgroud)

php mysql string escaping

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