金山快译:
警告: PDO::质问() [function.query]: SQLSTATE[HY000]: 普通错误: 2014不能执行质问当其他的unbuffered质问是活动的.考虑用PDOStatement::fetchAll().两者择一, 如果你的代码是唯一的曾经去到偶遇mysql, 你可能使能够质问缓冲器在设置PDO::MYSQL_ATTR_USE_BUFFERED_QUERY属性.在/var/www/html/web/action/RegisterAction.php在线41
警告: PDO::质问() [function.query]: SQLSTATE[HY000]: 普通错误: 2014不能执行质问当其他的unbuffered质问是活动的.考虑用PDOStatement::fetchAll().两者择一, 如果你的代码是唯一的曾经去到偶遇mysql, 你可能使能够质问缓冲器在设置PDO::MYSQL_ATTR_USE_BUFFERED_QUERY属性.在/var/www/html/web/action/RegisterAction.php在线41
英文能看懂,只是不知道怎么弄才正确
try {
$pdo = new PDO(
"mysql:dbname=".Config::dbname.";host=".Config::dbhost.";charset=utf-8",
Config::dbuser,
Config::dbpw
);
} catch (PDOException $e) {
die( $e->getMessage() );
}
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
if ($pdo->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
$query = "call sp_set_simple_account(?,?,?,?,?,?,@user_id,@comp_id,@return_code)";
$stmt = $pdo->prepare($query,array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
}
$stmt->bindParam(1, $username);
$stmt->bindParam(2, $pwdMD5);
$stmt->bindParam(3, $compName);
$stmt->bindParam(4, $compType);
$stmt->bindParam(5, $email);
$stmt->bindParam(6, $shareSpace);
$result = $stmt->execute();
if ($result == 1){
$row = $pdo->query("SELECT @user_id, @comp_id, @return_code")->fetchAll();
print_r($row);
}else {
throw new PDOException('Could not execute query');
}
if ($row['@return_code'] != 0) {
throw new AppException('usernameDuplicated');
}
} catch(PDOException $e){
echo $e->getMessage();
} catch(AppException $e){
echo $e->getMessage();
}