【发布时间】:2016-09-23 22:28:50
【问题描述】:
我需要从我的数据库中获取数据。我已经完成了,但是当我说 fetch array [1] 时,输出是所有行中的所有第二个字母。代码如下:
include "baglan2.php";
$query = $db->query("SELECT * FROM diziler", PDO::FETCH_ASSOC);
if ( $query->rowCount() ){
foreach( $query as $row ){
echo ($row['link']. "<br />");
}
我用 msqli 尝试过,但看到了相同的结果;这是mysqli代码:
$query = mysqli_query($baglanti, "SELECT * FROM diziler");
if ( mysqli_affected_rows($baglanti) ){
while ( $row = mysqli_fetch_assoc($query) ){
print $row['link'][1]."<br />";
}
}
例如,我所有的数据都是链接。当我运行 print $row['link'][1] 时,它会在所有行中给出来自“http:”的“t”字母。我需要按行而不是按列获取数据。我已经尝试了所有可能的方法。但是我找不到任何有效的方法。
例如,我想让这些代码在每个元素中输出"http://**.com"。
【问题讨论】:
-
$query = mysqli_query($baglanti, "SELECT link FROM diziler"); $link_array = array(); if ( $query){ while ( $row = mysqli_fetch_assoc($query) ){ $link_array[] = $row['link']; } } echo "<pre/>";print_r($link_array); -
$row['link']是一个字符串。当您在字符串之后放置索引时,它会访问字符串中的该字符。你为什么写[1]? -
@MartavisGriffin 为什么他不应该使用
foreach?PDOStatement实现了Iterable,它允许你使用foreach。 -
第一个应该可以工作,因为它没有
[1]。