这个php pdo代码有什么问题?

时间:2012-02-12 07:43:39

标签: php pdo

foreach不会回应任何事情,有人知道它有什么问题吗?

注意:$ checks是复选框的值。

<?php
    $hostname = 'localhost';
    $username = 'root';
    $password = '';
    $database = 'foo';

    try{

        $db = new PDO("mysql:host=$hostname;dbname=$database",$username,$password);

        $checks = $_POST['checks'];

        $post = "SELECT * FROM articles WHERE title= ' ". $checks ." '";

        foreach($db->query($post) as $row){
            echo $row['title'] . '' . $row['body'];
        }

    }catch(PDOException $e){
        echo 'CONNECTION UNSUCCESFUL!';
    }

?>

2 个答案:

答案 0 :(得分:2)

标题周围有多余的间距?因此,带有额外空格的标题永远不会与您的数据库匹配。

WHERE title= ' ". $checks ." '";

更改为

WHERE title= '". $checks ."'";

再试一次。

答案 1 :(得分:1)

$post = "SELECT * FROM articles WHERE title IN (' ". implode("','", $checks) ." ') ";

如果$ checks是数组,那么你应该像这样使用