从mysql行获取信息

时间:2015-03-25 00:11:08

标签: php mysql

我不太了解mysql和php以及其他东西,但是我试图获取数据库中的值是否为真。我知道mysql中列的名称,它名为verified。现在我已经找到了一些代码,我认为这是从mysql调用这个经过验证的列

function SK_getUser($timeline_id=0, $all=false) {
    global $dbConnect, $sk;
    $timeline_id = SK_secureEncode($timeline_id);

    $query_two = "SELECT $subquery_one FROM " . DB_ACCOUNTS . " WHERE id=" .     $sql_fetch_one['id'] . " AND active=1";
        $sql_query_two = mysqli_query($dbConnect, $query_two);

    if (mysqli_num_rows($sql_query_two) == 1) {
        $sql_fetch_two = mysqli_fetch_assoc($sql_query_two);

        if (isset($sql_fetch_two['verified'])) {
            $sql_fetch_two['verified'] = ($sql_fetch_two['verified']==1) ? true : false;
        }

    }
}

我在代码

中看到这行被调用得太像了
if ($sk['timeline']['verified'] == true) { 
// some code here
}

但是,当我尝试在网站的其他部分调用此功能时,它无法正常工作。所以我试图创建相同的动作,但能够插入我的网站上的任何其他地方。你能救我吗?

3 个答案:

答案 0 :(得分:0)

$row = mysql_fetch_array($sql_query_two);
if( isset($row['verified']) ){
   //TRUE
}else{
  //FALSE
}

答案 1 :(得分:0)

首先,所有php变量必须以$开头。在第一行DB_ACCOUNTS没有'$'。 其次,在第一行,“SELECT $ subquery_one FROM”,你尝试选择一个列,但你好像在调用一个php变量,因为它以'$'开头

答案 2 :(得分:0)

MySQL没有布尔类型。它有一个假装它的布尔值的列类型,但它实际上只是一个数字整数,可以是0或1.代码中的关键位是&#39 ;粘贴是:

$sql_fetch_two['verified'] = ($sql_fetch_two['verified']==1) ? true : false;

相当于:

if( $sql_fetch_two['verified'] == 1 ) {
  $sql_fetch_two['verified'] = true;
} else {
  $sql_fetch_two['verified'] = false;
}

?:Ternary Operator,它基本上是if/else块的简写。

无论如何,由于Type Juggling,在PHP中严格必须从整数到布尔类型的转换。