DefaultNetworkCredentials или DefaultCredentials

Вы должны выполнить свой запрос и добавить одиночную кавычку в $ email в запросе beacuse, это строка, и удалить is_resource($query) $ query - это строка, результатом $ будет ресурс

$query = "SELECT `email` FROM `tblUser` WHERE `email` = '$email'";
$result = mysqli_query($link,$query); //$link is the connection

if(mysqli_num_rows($result) > 0 ){....}

UPDATE

База в вашем правом изменении:

if(is_resource($query) && mysqli_num_rows($query) > 0 ){
        $query = mysqli_fetch_assoc($query);
        echo $email . " email exists " .  $query["email"] . "\n";

По

if(is_resource($result) && mysqli_num_rows($result) == 1 ){
        $row = mysqli_fetch_assoc($result);
         echo $email . " email exists " .  $row["email"] . "\n";

и вы будете в порядке

UPDATE 2

Лучшим способом должна быть процедура Store, которая выполняет следующий SQL, передающий Email как параметр

SELECT IF( EXISTS (
                  SELECT *
                  FROM `Table`
                  WHERE `email` = @Email)
          , 1, 0) as `Exist`

и извлекает значение в php

Псевдокодиго:

 $query = Call MYSQL_SP($EMAIL);
 $result = mysqli_query($conn,$query);
 $row = mysqli_fetch_array($result)
 $exist = ($row['Exist']==1)? 'the email exist' : 'the email doesnt exist';
31
задан dr. evil 27 March 2010 в 09:22
поделиться

2 ответа

Это одно и то же, что вы можете подтвердить сами, используя дизассемблер, такой как Reflector. Единственное отличие состоит в том, что DefaultNetworkCredentials возвращает объект NetworkCredentials и DefaultCredentials приводит его к ICredentials. Таким образом, у вас есть доступ к дополнительной информации с объектом NetworkCredentials, но какие из тех, которые вы используете, предоставляют объекту, требующему экземпляр ICredentials, не имеет значения, поскольку это тот же экземпляр объекта: object.ReferenceEquals(CredentialCache.DefaultCredentials, CredentialCache.DefaultNetworkCredentials) возвращает true.

41
ответ дан EMP 27 November 2019 в 22:18
поделиться

Разница между ними очень тонкая. DefaultNetworkCredentials - более новый из двух (добавлен в .NET 2.0), и основное отличие состоит в том, что при определенных условиях безопасности он может предоставлять приложению более личную информацию о вошедшем в систему пользователе. Для получения дополнительной информации попробуйте это сообщение в блоге:

http://blogs.msdn.com/buckh/archive/2004/07/28/199706.aspx

13
ответ дан 27 November 2019 в 22:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: