Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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_Sql - Fatal编程技术网

php:有没有理由在回显数据之前先填充结果数组

php:有没有理由在回显数据之前先填充结果数组,php,sql,Php,Sql,我正在读sitepoint的书《忍者入门》PHP&MySQL,我想知道他为什么要多走一步 我的SQL查询是 try { $sql = 'SELECT * FROM trazooevents WHERE county = :county'; $s = $pdo->prepare($sql); $s->bindValue(':county', $_POST['search_term']); $s->execute(); include 'e

我正在读sitepoint的书《忍者入门》PHP&MySQL,我想知道他为什么要多走一步

我的SQL查询是

try
{
    $sql = 'SELECT * FROM trazooevents WHERE county = :county';
    $s = $pdo->prepare($sql);
    $s->bindValue(':county', $_POST['search_term']);
    $s->execute();

    include 'events.inc.php';
}
在我的简历中

<?php foreach ($s as $row): ?>
    <li class="db-headline"><?php echo htmlspecialchars($row['eventname'], ENT_QUOTES, 'UTF-8'); ?></li>
    // etc.
<?php endforeach; ?>

他这样做只是为了得到一个索引标签,还是有一些我不知道的安全问题?

只是为了得到索引标签。。不过没必要……)

这是代码可读性的问题。您将不使用行,而是使用一个具有更高语义意义的数组:events。

这可能是为了防止执行
select*
操作的懒人在获取他们永远不会使用的字段时溢出服务器内存。它也可以是
$events[]=$row,但这只会复制您知道需要的字段。lol感谢您的延迟挖掘:P我当然会将其更改为发行版。他可以对索引标签使用fetch(PDO::fetch_ASSOC)或fetchAll(PDO::fetch_ASSOC)方法
foreach ($result as $row)
{
    $events[] = array(
    'eventname' => $row['eventname'],
    'eventdetails' => $row['eventdetails'],
    'weburl' => $row['weburl'],
    'imagename' => $row['imagename'],
    'expireson' => $row['expireson']
    );
}