Php Can';t访问在SQL查询中创建的变量

Php Can';t访问在SQL查询中创建的变量,php,mysql,sql,Php,Mysql,Sql,在sql查询的while循环中定义的变量在循环外不可用。下面的代码没有给出任何结果 $query= "SELECT `sqlcontent` FROM myTable"; $result= mysqli_query($query); while($row = mysqli_fetch_object($result)) { $output = $row->sqlcontent; echo $row->sqlcontent; } echo $output; while循

在sql查询的while循环中定义的变量在循环外不可用。下面的代码没有给出任何结果

$query= "SELECT `sqlcontent` FROM myTable";
$result= mysqli_query($query);
while($row = mysqli_fetch_object($result)) {
    $output = $row->sqlcontent;
    echo $row->sqlcontent;
}
echo $output;

while循环中的
echo
语句起作用。循环外部带有变量
$output
echo
语句不会产生任何结果。

如果您的目的只是打印内容,则将echo语句放入while循环中,而不是while循环外部。
$query= "SELECT `sqlcontent` FROM myTable";
$result= mysqli_query($query);
while($row = mysqli_fetch_object($result)) {
    $output = $row->sqlcontent;
    echo $row->sqlcontent;
}
echo $output;
否则,您可以使用数组存储内容,如下所示:-

$query= "SELECT `sqlcontent` FROM myTable";
$result= mysql_query($query);
$arr = array();
while($row = mysql_fetch_object($result)) {
    $arr[count($arr)] = $row->sqlcontent;
}
现在,您可以在while循环之外访问$arr。要获取$arr数组的内容,请使用以下任意循环,如for循环:-

for($i=0; $i<count($arr); $i++){
   // whatever you want to do with the content, just print it or use it anyway
   echo $arr[$i];
}

用于($i=0;$i这不起作用的明显原因是,您正在从数据库中选择
sqltable
,并在HTML中回显
sqlcontent
。是的。您想做什么?查询中应该只有一个结果,还是希望while循环中有一个“erm sqltable What is$test”数组?另一件事是假设是。它们不再被维护。请参阅?改为了解,并使用或-将帮助您决定使用哪一个。如果您选择PDO,感谢mysql_*提示!但问题仍然是一样的:/