标签: mdb2

PEAR的替换:PHP 5.3上的MDB2

我已经在php中使用梨包多年了.我正在升级/移动使用MDB2 pear包的网站,但尚未针对PHP 5.3.X进行更新.

在5.3中,MDB2正在返回那些新的恼人错误.

Unknown: Assigning the return value of new by reference is deprecated in /usr/local/lib/php/MDB2.php on line 390
Run Code Online (Sandbox Code Playgroud)

我知道我可以更改我的错误报告设置以摆脱它们,但我宁愿不做任何例外.无论如何,这些天是否有其他人使用MDB2并有解决方案?你推荐的是类似的数据库包吗?

php mysql pear mdb2

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

MySQL准备好的查询是否为每次会话一次的查询提供了性能优势?

根据文档,如果您多次运行查询,准备好的查询会提供显着的性能优势,因为解析查询的MySQL服务器的开销只发生一次.我想知道他们在那里"多次"是什么意思.

即,假设您有一个运行查询一次的网页.现在说该页面每秒被调用50次.从性能角度来看,准备()查询是否更有意义(因此需要两次往返DB服务器;一个准备查询,一个运行它)或者只是正常发送查询(只需要一次往返) ?MySQL和/或PHP mysqli驱动程序是否足够聪明,以便在先前的调用中查询是否为prepare()?

php mysql mysqli mdb2 prepared-statement

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

使用MDB2防止PHP注入PHP

我想弄清楚如何防止sqlinjection,我写了这个基本功能:function

antiInjectie($inputfromform){
    $temp = str_replace("'", "`",$inputfromform);
    $temp = str_replace("--", "~~",$temp);
    return htmlentitites($temp);
}
Run Code Online (Sandbox Code Playgroud)

然而有人告诉我也要考虑十六进制值,但我该怎么做?

更新 我坚持使用MDB2和pgsql

php postgresql sql-injection mdb2

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

如何在不执行的情况下获取Pear MDB2生成的SQL?

我正在使用PHP 5.3的Pear MDB2.我编码一个项目,更新了数据库之前,我让它开始变化的数据,我想看看有什么()由autoPrepare生成的SQL查询和执行()看起来像之前实际执行它们.

我计划创建并执行这样的更新查询:

    $stmt = $db->extended->autoPrepare($tableName, $tableColumns,
    MDB2_AUTOQUERY_UPDATE, 'id = ' . $db->quote(12345, 'integer'),
    $tableColumnTypes));

    $res =& $stmt->execute($tableColumnValues);
Run Code Online (Sandbox Code Playgroud)

我已经知道我可以autoPrepare()通过访问来查看由占位符生成的SQL的SQL $stmt->query.我想看看生成的已完成的SQL execute(),用值代替占位符,而不实际将查询发送到数据库.

我怎样才能做到这一点?

php sql pear mdb2

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

标签 统计

mdb2 ×4

php ×4

mysql ×2

pear ×2

mysqli ×1

postgresql ×1

prepared-statement ×1

sql ×1

sql-injection ×1