我有一个问题,我准备好的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 post和this post。这些似乎处理稍有不同的问题。不幸的是,我想使用准备好的语句而不是实际的查询。
不幸的是,这并没有解决问题。我使用了单引号,因为如果列名中有关键短语,我就会看到可以使用它们的地方。 'fill'和'date'这个词被突出显示。 $ sth = $ conn-> prepare(“SELECT id,short-des,full-des,image-urls,date-created FROM projects”); –
@JosiahL。什么'var_dump($ row);'输出这个变化?实际上,你使用反向“不”。现在尝试用反引号。 – imtheman
无法输出任何内容。然而这是它用单引号输出的内容: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) –