php while结束循环吗,php while循环退不出是什么有关问题
php while循環退不出是什么問題?
include('include/config.php');
include('include/dbclass.php');
session_start();
$db?=?db::getInstance();
//??$db->check_user_login();???//檢查用戶是否登錄
$db->createcon();????????????//建立連接
//?$user=$_SESSION["user"];
$user?=?"libero";???????????//測試臨時使用
//???執行?user數據表?選取user數據
$sql_user?=?"select?*?from?user?where?user?=?'$user'";
$user_array??=?$db->fetch_array($sql_user);
//??執行?yytable?數據??獲取?yytable?所有數據
$sql_yytable?=?"select?*?from?yytable?where?uid?=?'$user_array[0]'";
echo?"
while($yytable_array?=?$db->fetch_array($sql_yytable)){
echo?"
";echo?"
".$yytable_array[0]."";echo?"
".$yytable_array[1]."";echo?"
".$yytable_array[2]."";echo?"
".$yytable_array[3]."";echo?"
".$yytable_array[4]."";echo?"
".$yytable_array[5]."";echo?"
";}
echo?"
";//dbclass
class?db{
private?static?$dbhost?=?"localhost";
private?static?$dbuser?=?"root";
private?static?$password?=?"";
private?static?$dbname?=?"yy";
private?static?$instance?=?NULL;
//?構造函數
private?function?_construct(){}
//??實例化
public?static?function?getInstance(){
if?(self::$instance?==?null){
self::$instance?=?new?db();
}
return?self::$instance;
}
//連接數據庫
public?function?mycon(){
@mysql_connetc(self::$dbhost,self::$dbuser,self::$password);
}
//選擇數據庫
public?function?selectdb(){
$mysql_select_db(self::$dbname);
}
//創建連接??連接數據庫
public?function?createcon(){
mysql_connect(self::$dbhost,self::$dbuser,self::$password);
mysql_select_db(self::$dbname);
}
//??根據查詢條件獲取?$sql?結果集
public?function?fetch_array($sql){
if($result?=?$this->query($sql))
{
$rs?=?mysql_fetch_array($result,?MYSQL_BOTH);
return?$rs;
}
else?{?echo?"數據查詢失敗";?}
}
//?數據庫查詢執行語句
public?function?query($sql){
mysql_query("set?names?utf8");
return?mysql_query($sql);
}
//???loop?更具結果集?獲取數組
public?function?loop_query($result){
return?mysql_fetch_array($result);
}
//關閉數據庫連接
public?function?close(){
return?mysql_close();
}
}
}
?>
------解決方案--------------------
//??根據查詢條件獲取?$sql?結果集
public?function?fetch_array($sql){
if($result?=?$this->query($sql))?{????//用while之后?這個判斷一直都是成立的?所以就成死循環了???????$rs?=?mysql_fetch_array($result,?MYSQL_BOTH);
return?$rs;
}?else?{
echo?"數據查詢失敗";
}
}
------解決方案--------------------
while($yytable_array?=?$db->fetch_array($sql_yytable)){
總是在執行查詢?$db->fetch_array($sql_yytable)?并總是能返回第一條結果
你的這個?fetch_array?方法只能用于查詢一條記錄的場合
你應該再寫一個?fetch_all?方法,查詢并返回全部結果
------解決方案--------------------
public?function?fetch_all($sql){
if($result?=?$this->query($sql))
{
while($r?=?mysql_fetch_array($result,?MYSQL_BOTH))?{
$res[]?=?$r;
總結
以上是生活随笔為你收集整理的php while结束循环吗,php while循环退不出是什么有关问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php如何和c进行数据交换,PHP与 后
- 下一篇: php中如何定义常量和变量的区别,php