脚本调用错误的回声

时间:2017-07-16 04:39:51

标签: php

我正在尝试从我的数据库中返回数据。查询将返回零或一。如果数据返回一个(if psv1=1),我想回复“找到的数据”#39;如果数据返回零(if psv1=0),我想回显“没有找到数据'。

当我运行我的脚本时,即使psv1=1,我总是会发现没有找到数据'我还尝试将$res[0] == 1更改为$res[0] > 0,但它没有用。

$result = mysqli_query($db_handle, 'SELECT psv1 FROM cus WHERE id="1" AND user_id="'. $_SESSION['user_id'] .'"');
$res = mysqli_fetch_row($result);

if ($res[0] == 1){
    echo 'Data found';  
}
else
{
echo "No data found";
}

3 个答案:

答案 0 :(得分:0)

根据Manual,mysqli_fetch_row()将在失败时返回NULL,否则将对应于作为枚举数组的一行数据的字符串数组。我建议通过大量示例here测试mysqli_query()不会按照手册的建议返回FALSE。因此,更好的测试是编写类似下面的内容,并将$ query设置为特定查询:

<?php

$result = null;
$res = null;

$result = mysqli_query( $db_handle, $query ) OR die( mysqli_error( $db_handle ));

if( ( $res = mysqli_fetch_row( $result )) === NULL ) {
     // Nothing to fetch
}        
else 
{
     echo ($res[0] == 1 )? "Data found." : "No data found";
} 

答案 1 :(得分:0)

我想知道你在WHERE中是否需要这两个条件。你是否有id和user_id的意思。建议删除:

id="1" AND

只能猜测,但似乎不太可能。

在检查没有返回结果时,我建议您尝试:

$result = mysqli_query($db_handle, 'SELECT psv1 FROM cus WHERE id="1" 
AND user_id="'. $_SESSION['user_id'] .'"');

$res = mysqli_fetch_row($result);

if(mysqli_num_rows($result) > 0){ 

echo 'Data found'; 

}

else {

echo "No data found";

}

See related SO answer on mysqli_num_rows

答案 2 :(得分:0)

您应该使用setContentView(R.id.layout_id)

mysqli_fetch_array($result, MYSQLI_ASSOC)