對不起,如果這聽起來像是一個非常愚蠢的問題,但我只是開始掌握面向對象編程的概念,我對PHP的單例模式感到困惑。面向對象查詢功能
我該如何合併一個查詢,並將保存爲變量的行的結果保存爲單例模式?
例如,下面的代碼如何被合併?
$query = "SELECT * FROM members WHERE email= '".mysql_real_escape_string($_SESSION['email1'])."'";
$result = mysql_query($query) or die(mysql_error());
$number = mysql_num_rows($result);
$i = 0;
while ($i < $number)
{
$first_name = mysql_result($result,$i,"first_name");
$last_name = mysql_result($result,$i,"last_name");
$state = mysql_result($result,$i,"home_state");
$id_district = mysql_result($result,$i,"district");
$political_views = mysql_result($result,$i,"political_views");
$first_issue = mysql_result($result,$i,"first_issue");
$second_issue = mysql_result($result,$i,"second_issue");
$third_issue = mysql_result($result,$i,"third_issue");
$email = mysql_result($result,$i,"email");
$iStand = mysql_result($result,$i,"iStand");
$photo = mysql_result($result,$i,"photo");
$code = mysql_result($result,$i,"code");
$changed = mysql_result($result,$i,"changed");
$mem_ID = mysql_result($result,$i,"member_ID");
$pass = mysql_result($result,$i,"password");
$privacy = mysql_result($result,$i,"privacy");
$since = mysql_result($result,$i,"invite_date");
$nombre = mysql_result($result,$i,"peer_name");
$i++;
}
與問題無關,但首先是什麼代碼?爲什麼要提取多行只是將最後一行的值放入變量中?爲什麼要將每列分別分配給一個變量,而不是僅僅要求將整行作爲關聯數組(mysql_fetch_array)?這段代碼不應該存在! – 2010-11-19 06:03:23
由於電子郵件字段是唯一的,因此只有一行是從數據庫中提取的,因此沒有兩個用戶可以擁有相同的電子郵件。 – Lance 2010-11-19 06:06:28
在這種情況下,你不應該需要一個while循環。 – BoltClock 2010-11-19 06:38:42