2017-01-22 59 views
-2
$selected_id = -1; 
$selected_name = ""; 
if(isset($_GET['cid'])){ 
    $cid = $_GET['cid']; 
    $res = $pdo->prepare("SELECT * FROM k WHERE id = :cid"); 
    $res->bindParam(":cid",$cid); 
    $result = $res->execute(); 

    $rw = $result->fetchAll([$cid]); 
    if($rw){ 
     $selected_id = $rw['id']; 
     $selected_name = $rw['ime']; 
    } 
} 

调用一个成员函数使用fetchall()我想只选择ID,并与已选定的ID进行比较,但总是这个错误是任何人可以帮助我,请...致命错误:布尔

回答

1

$res->execute返回一个布尔值,你在$result变量保存:

http://php.net/manual/en/pdostatement.execute.php

您没有使用相同的对象,所以你不能使用对象的fetchAll方法。你应该使用相同的对象,所以你应该这样做,而不是:

$selected_id = -1; 
$selected_name = ""; 
if(isset($_GET['cid'])){ 
    $cid = $_GET['cid']; 
    $res = $pdo->prepare("SELECT * FROM k WHERE id = :cid"); 
    $res->bindParam(":cid",$cid); 
    $res->execute(); // Run the method 

    $rw = $res->fetchAll([$cid]); // Store the fetchAll result in a new variable 
    if($rw){ 
     $selected_id = $rw['id']; 
     $selected_name = $rw['ime']; 
    } 
}