Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php在输入中显示数据时出错_Php_Html_Css - Fatal编程技术网

Php在输入中显示数据时出错

Php在输入中显示数据时出错,php,html,css,Php,Html,Css,这段代码运行得很好,我想知道的是,如果我将foreach$行作为$row删除,为什么会出现错误,有没有一种方法可以显示数据而不使用它 <?php require("coneccion.php"); if(empty($_SESSION['user'])) { header("Location: index.php"); die("Redirecting to index.php"); } $id = $_GET['id']; $nombre = $_SESSION['user'

这段代码运行得很好,我想知道的是,如果我将foreach$行作为$row删除,为什么会出现错误,有没有一种方法可以显示数据而不使用它

<?php
require("coneccion.php");

if(empty($_SESSION['user']))
{
  header("Location: index.php");
  die("Redirecting to index.php");
}

$id = $_GET['id'];
$nombre = $_SESSION['user']['username'];
$query = "SELECT c.coursename FROM courses as c WHERE c.courseid = $id and c.id = (SELECT id FROM users WHERE username = '$nombre') ";

try
{
  $stmt = $db->prepare($query);
  $stmt->execute();
}
catch(PDOException $ex)
{
  die("Error");
}

$rows = $stmt->fetchAll(); 
?> 
  <?php 
  foreach($rows as $row):    
    echo '<input type="text" name="coursename" value="' .htmlentities($row['coursename']) . '" />'; 

    endforeach; 

假设您正在使用标准PDO设置,您可以访问第一个返回的结果,如下所示:

echo '<input type="text" name="coursename" value="' .htmlentities($rows[0]['coursename']) . '" />';

要返回数组中的第一行,可以执行以下操作:

echo '<input type="text" name="coursename" value="'
.htmlentities($rows[0]['coursename']) . '" />'; 

这将返回第一行,但我不建议这样做。PHP数组是哈希表。它们的速度非常快。通过降低代码的可维护性,您不会节省任何样式点。

您需要foreach来获取数组的每个结果,为什么要删除foreach?您必须使用循环结构来获取所有细节。。您可以使用foreach或while循环来执行此操作。因为我只需要显示一个resultAh,这是一个有趣的信息。你可以在问题里贴出来。。。在这种情况下,只需使用$rows[0]。或者,更好的是,只需检索第一行:$row=$stmt->FetchRow.Great,那些能够将我的评论复制粘贴到真实答案中的人。好极了-