У меня есть этот запрос для использования в PHP:
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);
mysql_query возвращает ресурс результата. Вы можете прочитать результат с помощью mysql_result
$res = mysql_query("select count(*) from registeredUsers where email='".mysql_real_escape_string($_SESSION["username"])."'"); echo mysql_result($res,0);
Вам нужны одинарные кавычки вокруг переменной сеанса в вашем запросе
$result = mysql_query("SELECT COUNT(*) FROM registeredUsers WHERE email = '".$_SESSION['username']."' ");
Запрос count всегда будет возвращать значение, равное 0
если никакие записи не возвращаются, или целое число выше 0
если записи соответствуют ему.
Он должен, по крайней мере, распечатывать 0
, запрос, который вы разместили, означает:
Get the number of records where the email address is equal to the session username
Это может не иметь смысла, вы хотите сделать, where username = ".$_SESSION["username"]
или что-то подобное?
Вы можете захотеть откликнуть сам запрос, чтобы определить, что он возвращает то, что вы ожидаете.
mysql_query () возвращает ресурс, используемый для получения информации из набора результатов. Используйте функцию, например mysql_fetch_array (), чтобы извлекать строки из набора результатов. В этом случае будет только одна строка.
Он должен предоставить вам количество зарегистрированных пользователей, у которых есть адрес электронной почты, который вы указываете в качестве параметра этого запроса. (Может быть проверка, если данный адрес электронной почты уже зарегистрирован для другого пользователя.) Если адрес электронной почты еще не зарегистрирован, будет возвращено пустое поле. (Это может быть причиной того, что в вашем случае ничего не распечатывается. Попробуйте его с адресом электронной почты, который вы наверняка будете в базе данных).
$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];
Попробуйте перевести его в строку, прежде чем повторять его. Как int, 0 будет отображаться как пустая строка.