2016-07-07 238 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) –