2016-07-07 236 views
0

我有一個問題,我準備好的SELECT結果數組沒有持有實際的列值。我知道如何使用Java從sql數據庫獲取數據,但是我遇到了PHP PDO的問題。我連接到了我所知道的遠程AWS數據庫。下面是代碼:PHP PDO MySQL數組只返回列名

 $conn = new PDO($dsn, $username, $password); 
     //echo "Test"; 

在這裏,我想獲得的所有列的數據

 $sth = $conn->prepare("SELECT 'id', 'short-des', 'full-des', 'image-urls', 'date-created' FROM projects"); 
     $sth->execute(); 

我已經把PDO :: FETCH_BOTH,PDO :: FETCH_ASSOC,PDO :: FETCH_COLUMN。這篇文章結尾的結果是我將fetchall()留空的結果。當我插入任何PDO ::樣式時,不返回任何值。我已經完成了其他場景,例如使用var_dump以及提供實際結果的fetch語句中的樣式,但沒有列包含的實際值。

 $row = $sth->fetchAll(); 

     echo "<br>" . $row[0] . "<br>"; 
     echo "<br>" . $row[1] . "<br>"; 

     $column1 = $row[0]; 
     $column2 = $row[1]; 

     for($i = 0; $i < 5; $i++){ 
      echo " " . $column1[$i]; 
      $var = $column1[$i]; 
      echo " = " . $var . " , "; 

     } 
     for($i = 0; $i < 5; $i++){ 
      echo " " . $column2[$i]; 
      $var = $column2[$i]; 
      echo " = " . $var . " , "; 
     } 

這是所得到的文本:

64 bitPDO可用

陣列

陣列 ID = ID,短DES =短-DES,全DES = full-des,image-urls =圖片url,date-created =日期創建,id = id,short-des = short-des,full-des =完整des,圖片url =圖片url,日期-created =日期創建,連接成功

我猜它的一些愚蠢簡單的原因,它沒有顯示實際值。我不熟悉「獲取」概念,因爲我來自JDBC,但是我過去幾天一直試圖讓它無法工作。我看過類似的帖子,如this post,this postthis post。這些似乎處理稍有不同的問題。不幸的是,我想使用準備好的語句而不是實際的查詢。

回答

1

我相信問題是你的單引號。試試這個:

$sth = $conn->prepare("SELECT `id`, `short-des`, `full-des`, `image-urls`, `date-created` FROM projects"); 

注:反引號`是不一樣的單引號'

+0

不幸的是,這並沒有解決問題。我使用了單引號,因爲如果列名中有關鍵短語,我就會看到可以使用它們的地方。 'fill'和'date'這個詞被突出顯示。 $ sth = $ conn-> prepare(「SELECT id,short-des,full-des,image-urls,date-created FROM projects」); –

+0

@JosiahL。什麼'var_dump($ row);'輸出這個變化?實際上,你使用反向「不」。現在嘗試用反引號。 – imtheman

+0

無法輸出任何內容。然而這是它用單引號輸出的內容:array(2){[0] => array(10){[「id」] => string(2)「id」[0] => string(2)「 「short-des」] => string(9)「short-des」[1] => string(9)「short-des」[「full-des」] => string(8) 「」image-urls「] => string(10)」image-urls「[3] => string(10)」image-urls「[」 date-created「] => string(12)」date-created「[4] => string(12)」date-created「} [1] => array(10){[」id「] => string( 2)「id」[0] => string(2)「id」[「short-des」] => string(9)「short-des」[1] => string(9)「short-des」[ 「full-des」] => string(8) –