我已经尝试过一些小墙。
我在SQL中的数据库中有一个名为' projects'的表。
我的问题是我似乎无法选择特定列中的每一行。
这是我迄今为止与此问题相关的代码(请记住,' $ conn'是与SQL数据库的连接,以及第二行的include命令只是包括那个连接):
//CONNECTION FILE
include "../include/dbh-inc.php";
//ASSIGNING QUERY VALUES TO VARIABLES
$q1 = mysqli_query($conn,"SELECT pid FROM projects;");
$q2 = mysqli_query($conn,"SELECT ptitle FROM projects;");
$q3 = mysqli_query($conn,"SELECT plink FROM projects;");
//SETTING ARRAYS FROM VARIABLES
$ids = mysqli_fetch_array($q1);
$titles = mysqli_fetch_array($q2);
$links = mysqli_fetch_array($q3);
mysqli_close($conn);
file_put_contents("newtest.txt","$titles\n");
foreach($titles as $title) {
file_put_contents("newtest.txt","$title\n", FILE_APPEND); //Testing
}
if(count($ids) > 0) {
file_put_contents("TEST.txt","");
for($i = 0; $i < count($ids)-1; $i+=1) {
$count = count($ids);
$title = $titles[$i];
$id = $ids[$i];
$link = $links[$i];
file_put_contents("TEST.txt","$i: $title, $id ($count), $link\n",FILE_APPEND);
echo("
<div class=\"projlink\">
<a href=\"$link\" style=\"width:190px;height:90px\">
<h2>$title</h2>
</a>
</div>
");
}
}
else {
echo("
<h2>Nothing here currently!<br>Be patient!</h2>
");
}
有什么想法吗?
谢谢! - 拉斐尔
答案 0 :(得分:3)
您只使用mysqli_fetch_array
获取一行。此外,您可以在一个查询中获取所有列:
$q1 = mysqli_query($conn,"SELECT pid, ptitle, plink FROM projects;");
$rows = mysqli_fetch_all($q1, MYSQLI_ASSOC);
如果你没有mysqli_fetch_all
那么:
while($rows[] = mysqli_fetch_assoc($q1));
然后循环$rows
并使用列:
foreach($rows as $row) {
echo $row['pid'] . ' ' . $row['ptitle'] . ' ' . $row['plink'];
}
如果你真的需要单独的数组(这很少需要):
$ids = array_column($rows, 'pid');
$titles = array_column($rows, 'ptitle');
$links = array_column($rows, 'plink');