我收到了错误:
注意:未定义的变量:第18行的C:\ xampp \ htdocs \ sqltest.php中的db
致命错误:在第18行的C:\ xampp \ htdocs \ sqltest.php中的非对象上调用成员函数prepare()
我使用了此How can I prevent SQL injection in PHP?
中的代码我是PDO的新手,在我的apache服务器上使用的是php 5.3。
我只是测试它,我知道我没有使用良好的编码实践。
我的代码:
$con = mysql_connect("localhost","root","") or die('error');
mysql_select_db("safe",$con);
if(isset($_POST['lastinput'])){
$prepared = $db->prepare('SELECT * FROM data WHERE last = :last');
$prepared->execute(array(':last' => $_POST['lastinput']));
$rows = $prepared->fetchAll();
echo $rows['first'];
}
mysql_close($con);
答案 0 :(得分:4)
使用$db->...
的示例正在使用已建立的PDO连接。您没有建立PDO连接,因此也从不创建变量$db
。请从手册开始:http://php.net/manual/en/pdo.connections.php