我遇到的问题是我准备好的SELECT结果数组没有保存实际的列值。我知道如何使用Java从sql数据库获取数据,但是我遇到了PHP PDO的问题。我连接到我知道可以工作的远程AWS数据库。这是代码:
$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 :: styles时,不返回任何值。我已经完成了其他方案,例如使用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位PDO可用
阵列
阵 id = id,short-des = short-des,full-des = full-des,image-urls = image-urls,date-created = date-created,id = id,short-des = short-des,full- des = full-des,image-urls = image-urls,date-created = date-created,已成功连接
我猜测它没有显示实际值的一些愚蠢的简单原因。我不熟悉&#34; fetch&#34;因为我是来自JDBC的概念,但是过去几天我一直在努力让它工作无济于事。我查看了类似帖子,例如this post,this post和this post。这些似乎处理稍有不同的问题。不幸的是,我想使用预准备语句而不是实际查询。
答案 0 :(得分:1)
我认为问题是你的单引号。试试这个:
$sth = $conn->prepare("SELECT `id`, `short-des`, `full-des`, `image-urls`, `date-created` FROM projects");
注意:反引号`
与单引号'
不同。