我需要一个简单的搜索功能来搜索数据库,我在谷歌上发现的例子都是容易sql注入的。
使用此代码:
SELECT userid, fullname, website, birth, image FROM profile WHERE fullname LIKE ? OR website LIKE ?", %{$_POST["searchname"]}%, %{$_POST["searchurl"]}%
我得到一个
Parse error: syntax error, unexpected '%' in /usr/share/nginx/html/public/search.php on line 15
虽然我在文档中找到了一个例子(例6),但它使用execute,而在我的代码中,我将其作为函数调用。
我的查询功能-链接到codepad
My search function -
http://codepad.org/pfGZdWW5 (link was not allowed.)
请帮我改正!如果您需要更多关于代码的信息,请询问。
谢谢!
您应该准备这个查询:
$handle= new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = 'SELECT userid, fullname, website, birth, image
FROM profile
WHERE fullname LIKE ? OR website LIKE ?';
$stmt = $handle->prepare($query);
$stmt->execute(array('%'.$_POST['searchname'].'%', '%'.$_POST['searchurl'].'%'));