錯誤沒有進一步的描述,上面的錯誤是我得到的唯一的東西。我也設法弄錯了錯誤,並且它是我嘗試抓取所有結果的那一行。執行巨大的查詢返回SQLSTATE [HY000]:一般錯誤
$id = (int) base64_decode($id);
try {
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->beginTransaction();
$sql = "SET @i:=0; SELECT result.* FROM (SELECT @x:[email protected]+1 AS position, temp.* FROM (SELECT u.id, u.fbname, MAX(c.likeit + c.loveit + c.cute + c.aw) AS total, c.likeit, c.loveit, c.cute, c.aw FROM currentphoto AS c LEFT JOIN users AS u ON u.id = c.id GROUP BY u.id ORDER BY total DESC) temp) result WHERE id = :id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_OBJ);
$conn->commit();
} catch (Exception $e) {
$conn->rollBack();
echo $e->getMessage();
}
if ($rows != null) {
return json_encode(base64_encode($rows));
} else return null;
我剛剛讀過的地方是,在PDO中使用mysql變量可能需要在單獨的查詢中使用聲明。是對的嗎?如果是這樣,我該怎麼做?我是否執行第一個語句和變量之後的第二個語句?
如果那不正確,那麼問題是什麼?謝謝你們
可以UB更具體的,粘貼錯誤,如果你西港島線l或截圖。但最有可能與您的提取查詢 –