2014-04-13 57 views
0

我有此PDO聲明,如何將結果設置爲另一個用途的變量。 IE瀏覽器。我需要PName,Player_price和Player_Points作爲PHP變量。有人請幫助我。將PDO聲明結果設置爲每個字段的變量

if ($stmt = $con->prepare("SELECT PName, Player_price, Player_points, Total_points FROM Keepers_points WHERE 'WeekNo'=? && 'PlayerNO'=?")) 
    { 
    $stmt->bind_param("dd", $Week_ID, $GK_2); 
    $stmt->execute(); 

回答

1

您必須將您的語句提取到關聯數組(或其他)中,然後使用它。 您的SQL錯誤,你的PHP也請'的地方使用反引號`

  • bindParam,因爲它的名字一樣,查看以下

      在你的SQL,你不應該圍繞列名
    1. ,它是用於一次綁定1個參數,因此在您的代碼中,您必須使用2行,每個參數一行,或者創建一個包含想要傳遞給準備語句的變量的數組,並像我一樣將此數組傳遞到execute在我的代碼中。

      if ($stmt = $con->prepare("SELECT PName, Player_price, Player_points, Total_points FROM Keepers_points WHERE `WeekNo`=? AND `PlayerNO`=?")) 
      { 
          $data=array($Week_ID, $GK_2); 
          $stmt->execute($data); 
          $stmt->setFetchMode(PDO::FETCH_ASSOC); 
          while($array=$stmt->fetch()){ 
           print_r($array); 
          } 
      } 
      

    或者您可以使用fetchAll()來,所有的結果到一個數組

    if ($stmt = $con->prepare("SELECT PName, Player_price, Player_points, Total_points FROM Keepers_points WHERE `WeekNo`=? AND `PlayerNO`=?")) 
    { 
        $data=array($Week_ID, $GK_2); 
        $stmt->execute($data); 
        $array=$stmt->fetchAll(); 
        print_r($array); 
    } 
    

    檢查手冊,瞭解更多的選擇:http://www.php.net/manual/en/

    邊注:最好是使用AND不是&&,因爲這是標準SQL

  • 相關問題