2016-01-23 2 views
2

Весь этот раздел должен собирать int из активного и использовать его в инструкции if для продолжения с кодом. Может кто-нибудь, пожалуйста, скажите мне, почему это не работает?Mysqli fetch_object дает мне неприятности

$act_qry = "Select active FROM user_m WHERE username = '$username' and password = '$Menrypted_password'"; 
$result_act = mysqli_query ($connMS, $act_qry); 
$value_act = mysqli_fetch_object($result_act); 

if($value_act == 1) 
{ 
    //Do php stuff. 
} 
+3

Изменить как: -'if ($ value _act-> active == 1) { // Делаем php. } ' –

+0

Используйте ** var_dump ($ value_act); **, чтобы увидеть, что возвращается – user2182349

+0

var_dump ($ value_act) = object (stdClass) # 5 (1) {[" active "] => string (1)" 1 "} – GenGen

ответ

2

Я имею эту таблицу в моей базе данных: - http://prntscr.com/9tnalx

Проверьте этот код: -

<?php 
error_reporting(E_ALL); 
ini_set('display_errors',1); 
//connect to database 
$link = mysqli_connect('localhost','root','','stack'); 
$act_qry = "Select product_id FROM bom WHERE bom_description = 'Table Tops'"; 
$result_act = mysqli_query ($link, $act_qry) or die(mysqli_error($link)); 

$value_act = mysqli_fetch_object($result_act); 

if($value_act->product_id == 1) 
{ 
    echo $value_act->product_id; 
} 
// or you can do this 

$value_act = mysqli_fetch_assoc($result_act); 

    if($value_act['product_id'] == 1) 
    { 
     echo $value_act->product_id; 
    } 
    mysqli_close($link); 
    ?> 

Выход на моем браузере: - http://prntscr.com/9tnazj

Примечание: - Я надеюсь, вы можете понять код, проверив мой скриншот таблицы. Спасибо

+0

if ($ value_act-> product_id == 1) Как я могу написать это с использованием процедурного стиля? – GenGen

+0

Хотя я не полностью понимаю $ value_act-> product_id, он действительно работает, в чем я нуждался. Спасибо @ A-2-A. – GenGen

+0

@GenGen Обратите внимание, что 'mysqli_fetch_assoc' возвращает массив. Когда вы запрашиваете объект, 'mysqli_fetch_object', вы получаете объект. – chris85

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