将sql查询结果插入单独的php变量中

时间:2014-11-11 12:43:30

标签: mysqli

我正在尝试使用php pdo制作广告系统。如何将以下sql查询的结果ID输入到我的php变量中?

SELECT id FROM ads, ( SELECT id AS sid FROM ads WHERE position="A" ORDER BY RAND( ) LIMIT 5 ) tmp WHERE ads.id = tmp.sid

我只是不知道如何在变量中获取这些值:

$ad_1 = result[1]
$ad_2 = result[2]
$ad_3 = result[3]
$ad_4 = result[4]
$ad_5 = result[5]

借助这些变量($ ad_1 ... 5),我可以在不同的地方展示独特且随机的广告,获取正确的数据并更新广告点击/观看次数......

我感谢您提供的任何帮助。我是php的新手。我试着寻找答案,但无法找到答案。

2 个答案:

答案 0 :(得分:0)

试试这个:

$begin = "ad_";
for($i = 0; $i < 6 ; $i++) {
    $($begin.$i) = $result[$i];
}

(假设先前已定义数组$result

答案 1 :(得分:0)

最好养成使用这样的准备语句的习惯:

<?php
$adIds = array();
$position = 'A'; // probably set dynamicaly
$stmt = $dbh->prepare("SELECT id FROM ads, ( SELECT id AS sid FROM ads WHERE position=? ORDER BY RAND( ) LIMIT 5 ) tmp WHERE ads.id = tmp.sid");
$stmt->bindParam(1, $position);
if ($stmt->execute()) {
  while ($row = $stmt->fetch()) {
    $adIds[] = $row[0];
  }
}
?>

$adIds现在是一个包含select语句返回的所有id的数组。