当我尝试使用PDO时,我无法从我的mysql数据库中获得任何结果

时间:2014-03-21 15:34:32

标签: php mysql pdo

我第一次尝试使用PDO,但我无法得到任何结果。我已经尝试了几个我发现的脚本示例变体,但是我没有得到任何结果。也没有错误。这是我最近的尝试。

$db = new PDO('mysql:host=localhost;dbname=mydb;charset=utf8', 'myuser', 'mypass'); 
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);   

$sql = " SELECT * FROM pages WHERE seo=:seo "; 
$stmt = $db->prepare($sql); 
$values= array( 'seo' => $_REQUEST['p1'] ); 
$stmt->execute($values); 
while($result = $stmt->fetch()){ 
echo $result['text']; 
}  

1 个答案:

答案 0 :(得分:0)

是否有一个名为" text"的列在你的桌子?您确定在seo表的pages列中是否存在您为bind参数提供的值?

对于调试,我建议你尝试稍微修改一下查询,看看你是否要返回任何行:

SELECT * FROM pages WHERE 1=1 OR seo=:seo LIMIT 10

此外,回显出您为bind参数提供的值:

echo "bind parameter value = ", $_REQUEST['p1']; 

您可能还会尝试在获取后转储结果:

var_dump($result);

这应该有助于缩小问题范围。