我有這個疑問在PHP中使用:如何在PHP中獲取select count(*)查詢的結果?
mysql_query("select count(*) from registeredUsers where email=".$_SESSION["username"]);
當我使用echo
打印出來的結果,沒有東西打印出來。上述聲明的返回值究竟是什麼?
我有這個疑問在PHP中使用:如何在PHP中獲取select count(*)查詢的結果?
mysql_query("select count(*) from registeredUsers where email=".$_SESSION["username"]);
當我使用echo
打印出來的結果,沒有東西打印出來。上述聲明的返回值究竟是什麼?
您的代碼不包含任何獲取語句。而另一個答案指出,你需要單引號$_SESSION["username"]
。
$result = mysql_query("select count(*) from registeredUsers where email='{$_SESSION['username']}'");
// Verify it worked
if (!$result) echo mysql_error();
$row = mysql_fetch_row($result);
// Should show you an integer result.
print_r($row);
單引號拯救生命!使用它們,你幾乎沒有機會犯你的代碼中的錯誤。語法熒光筆已經適合:D – Khez 2011-04-22 17:32:13
您的語法需要在那裏做一點工作。 '我的結果= mysql_query(「select count(*)from registeredUsers where email ='{$ _ SESSION ['username']}'」);' – 2011-04-22 17:32:47
我知道 - 我已經在保存後修復了額外的雙引號。 – 2011-04-22 17:34:51
計數查詢將始終返回一個值,如果沒有記錄返回,則爲0
;如果記錄與記錄相匹配,則計數查詢將高於0
。
它至少應打印出0
,查詢您發佈方式:
Get the number of records where the email address is equal to the session username
這可能沒有什麼意義,你的意思做where username = ".$_SESSION["username"]
或類似的東西?
多數民衆贊成在我的想法,但我試圖用回聲打印它,沒有打印,爲什麼? – user722769 2011-04-22 17:27:49
@用戶如果您向我們展示您的代碼,我們可以計算出爲什麼 – 2011-04-22 17:28:13
您可能想要回顯查詢本身以確定它是否返回了您所期望的。
的mysql_query()返回用來從結果集信息的資源。使用諸如mysql_fetch_array()之類的函數從結果集中檢索行。在這種情況下,只會有一行。
嘗試將它轉換爲字符串,然後回顯它。作爲一個int,0將顯示爲空字符串。
這是不正確的,你可以通過執行:'php -r'echo 0,「\ n」;''看到。 'echo(int)0;'輸出字符串'0'。 – 2011-04-22 17:34:08
你說得對。有趣。下次發生這種情況時,我將不得不多加關注。 – alexantd 2011-04-22 17:44:41
mysql_query返回結果資源。你可以用mysql_result
$res = mysql_query("select count(*) from registeredUsers where email='".mysql_real_escape_string($_SESSION["username"])."'");
echo mysql_result($res,0);
這工作完美。謝謝你的帖子。 – Baxter 2012-09-26 16:37:22
讀取結果應該給你誰擁有您所提供的參數來此查詢的電子郵件地址registere用戶量。 (如果給定的電子郵件地址已經爲另一個用戶註冊,可能是檢查。) 如果電子郵件地址尚未註冊,則會返回一個空白字段。 (這可能是爲什麼沒有得到你的情況打印出來的原因。與您確定的是數據庫中的電子郵件地址試試看。)
$resultemp = mysql_query("select count(*) AS count from registeredUsers where email='{$_SESSION['username']}'");
// Verify mySQL Query Rresult
if (!$resultemp) echo mysql_error();
// Convert mySQL Result for PHP
$counter=mysql_fetch_assoc($resultemp);
$counter=$counter['count'];
// Print Total Employees
echo $counter;
您需要使用mysql_fetch_array()的返回值在用戶定義的變量中。然後必須打印返回的值。
$result=mysql_query("select count(*) from registeredUsers where email='{$_SESSION['username']}'")
$COUNT_NUMBER=mysql_fetch_array($result);
echo "<br>1.Count=" .$COUNT_NUMBER[0];
它返回一個'resource',你需要在另一個函數中使用它。如果你想得到結果考慮使用[mysql_fetch_array()](http://www.php.net/manual/en/function.mysql-fetch-array.php)。將mysql_query的結果傳遞給這個函數。 – Khez 2011-04-22 17:29:42