使用PHP编写的语句SQL查询出错了

时间:2012-05-09 00:10:47

标签: php sql statements

我收到了错误:

注意:未定义的变量:第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);

1 个答案:

答案 0 :(得分:4)

使用$db->...的示例正在使用已建立的PDO连接。您没有建立PDO连接,因此也从不创建变量$db。请从手册开始:http://php.net/manual/en/pdo.connections.php