从mysql行获取信息


Get information from mysql row

我对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
}

但当我试图在网站的其他部分这样调用这个函数时,它不起作用。所以我试图创建同样的动作,但可以在我的网站上的其他地方插入。你能帮我吗?

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

要开始,所有php变量都必须以$开头。在第一行DB_ACCOUNTS中没有"$"。其次,在第一行"SELECT$subquery_one FROM"中,您试图选择一列,但似乎在调用php变量,因为它以"$"开头

MySQL没有布尔类型。它的列类型假装是布尔型,但实际上它只是一个可以是0或1的一位数整数。你粘贴的代码中的关键部分是:

$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;
}

?:是三元运算符,本质上是if/else块的简写。

无论如何,在PHP中,从整数到布尔类型的转换并不是严格必要的,因为type Juggling。