php:有没有理由在回显数据之前先填充结果数组
我正在读sitepoint的书《忍者入门》PHP&MySQL,我想知道他为什么要多走一步 我的SQL查询是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
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']
);
}