我不太了解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
}
但是,当我尝试在网站的其他部分调用此功能时,它无法正常工作。所以我试图创建相同的动作,但能够插入我的网站上的任何其他地方。你能救我吗?
答案 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中严格必须从整数到布尔类型的转换。