【发布时间】:2018-12-14 16:31:13
【问题描述】:
我最初的查询是从 phpadmin 表中选择数据并显示到表中。
$sql="select * from table";
$result=mysql_query($sql) or die(mysql_error());
while($myrow=MySQL_fetch_array($result,MYSQL_ASSOC))
{
extract($myrow);
echo "<td align='left' bgcolor='$bgclr'>".$myrow[0]."</td>";
echo "<td align='left' bgcolor='$bgclr'>".$myrow[1]."</td>";
echo "<td align='left' bgcolor='$bgclr'>".$myrow[2]."</td>";
echo "<td align='left' bgcolor='$bgclr'>".$myrow[3]."</td>";
}
然后我需要使用$myrow[0] 的值显示另一列以执行另一个查询以获取该值。
$sql="select * from table";
$result=mysql_query($sql) or die(mysql_error());
while($myrow=MySQL_fetch_array($result,MYSQL_ASSOC))
{
extract($myrow);
$id = $myrow[0];
$sql="select amount from table2 where id like '%$id%'";
$result = mysqli_query($conn, $sql);
echo "<td align='left' bgcolor='$bgclr'>".$myrow[0]."</td>";
echo "<td align='left' bgcolor='$bgclr'>".$myrow[1]."</td>";
echo "<td align='left' bgcolor='$bgclr'>".$myrow[2]."</td>";
echo "<td align='left' bgcolor='$bgclr'>".$myrow[3]."</td>";
while ($row=mysqli_fetch_row($result)) {
echo "<td align='left' bgcolor='$bgclr'>".$row[0]."</td>";echo "</tr>";
}
}
我的页面变成了空白。错误出现在
$result = mysqli_query($conn, $sql);
这是正确的方法还是应该怎么做?
【问题讨论】:
-
通常你最好使用join语句,这样你就不需要每次迭代都重复查询
-
你混合mysql和mysqli
-
使用预处理语句防止 SQL 注入
-
如果将这两个 SQL 语句合并到一个查询中会更好。