2014-01-08 4 views
0

У меня возникла проблема с заменой mysql_result на правильную команду mysqli_?. Кажется, я все пробовал, но ничего не работает. Я использую его, чтобы проверить, если имя пользователя берется для входа-системы, как это:Замените mysql_result на mysqli_?

$sql = "SELECT COUNT(*) FROM members WHERE user='{$_POST['user']}'"; 
    $result = mysqli_query($con, $sql); 
    if (mysql_result($result, 0) > 0) { 
    $reg_error[] = 1; 
    } 

Я попытался с mysqli_fetch_assoc и mysqli_num_rows, и я попытался изменить все это, но ничего не работает поэтому я обращаюсь к вам, ребята.

Со всем, что я пробовал, мой скрипт по-прежнему создает пользователя, даже если имя пользователя allready существует.

Есть ли способ решить эту проблему?

+0

Google делает жизнь проще. http://codular.com/php-mysqli. Первый результат, когда вы используете Google с использованием php mysqli. Mysqli - это сдвиг с нуля, вы не можете просто смешивать/сопоставлять функции mysql_ и mysqli_ – Rottingham

+0

«какой-то нераскрытый код не работает» - это не вопрос, если вы не учтете «исправить неправильный код» ответ; -P –

+0

Как насчет сообщений об ошибках? – Eric

ответ

2

Это то, что я использую, чтобы проверить, если имя пользователя существует.

$user= mysqli_real_escape_string($con, $_POST['user']); 

$result = mysqli_query($con, "SELECT * FROM `members` WHERE `user`='$user'"); 

if ($result->num_rows) 
    { 
echo "ID exist!"; 
} 
    else 
    { 
    echo "ID doesnt exist!" 
    } 

и/или:

$user= mysqli_real_escape_string($con, $_POST['user']); 

$query = mysqli_query($con, "SELECT * FROM `members` WHERE `user`='".$user."'"); 

if(mysqli_num_rows($query) > 0){ 

    echo "email already exists"; 
}else{ 

// do something here 

} 
+0

Это сработало отлично, вы спасатели жизни, спасибо большое! – Bondenn

+0

Добро пожаловать, рад, что смогу помочь. И обратите внимание, что '$ con' должен использоваться как параметр с' mysqli_real_escape_string'. Он не нужен в версии 'mysql_', другая причина, почему использование' mysql_ * 'функций небезопасно. @Bondenn Cheers –

+0

Я вижу, отлично. Еще раз спасибо, привет! – Bondenn

0

Может быть, вы можете попробовать

$result = mysqli_query($con,$sql); 
$row = mysqli_fetch_array($result); 

Затем проверьте значение в $ строке

+0

Как насчет добавления проверки ошибок? Поскольку передача $ result в mysqli_fetch_array() с плохим запросом будет либо терпеть неудачу, как исходный код, либо вызвать фатальную ошибку PHP. – Rottingham

+0

Проверка ошибок может быть выполнена с помощью - if (! $ Result) { $ message = 'Неверный запрос:'; $ message. = 'Весь запрос:'. $ SQL; die ($ message); } – Dinesh

+0

Я знаю, как это делается, я рекомендую, что если вы собираетесь помогать решать проблемы, не давайте решений, которые включают проблемы. – Rottingham

Смежные вопросы