使用带有pdo的预准备语句时,关闭仿真是否有任何副作用?我正在使用select*并限制需要作为int而不是字符串处理的结果.我可以做两件事之一.
$conn->setAttribute( PDO::ATTR_EMULATE_PREPARES, false );
Run Code Online (Sandbox Code Playgroud)
或者使用param类型显式绑定这些变量:
$stm = $pdo->prepare('SELECT * FROM table LIMIT ?, ?');
$stm->bindParam(1, $limit_from,PDO::PARAM_INT);
$stm->bindParam(2, $per_page,PDO::PARAM_INT);
$stm->execute();
$data = $stm->fetchAll();
Run Code Online (Sandbox Code Playgroud)
任何利弊?显然,关闭仿真可以节省很多绑定.
这是我的.htaccess文件.
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [NC,L,QSA]
Run Code Online (Sandbox Code Playgroud)
这是因为它在不使用.php扩展名时可以访问我的页面.
Old = domain.com/test.php
New = domain.com/test
Run Code Online (Sandbox Code Playgroud)
不好的是,当我使用以下链接发送数据时,数据不会被传递.我认为QSA选项可以做到这一点,这笔交易是什么?
domain.com/test?id=1
Run Code Online (Sandbox Code Playgroud)