Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP和Oracle会话登录_Php_Oracle11g - Fatal编程技术网

PHP和Oracle会话登录

PHP和Oracle会话登录,php,oracle11g,Php,Oracle11g,这里是我的PHP代码+Oracle登录表单有问题。 在这个PHP文件中,我创建了登录函数。但我有这样一个错误: Warning: oci_num_rows() expects parameter 1 to be resource, string given in C:\xampp\htdocs\developers\it\session.php on line 12 Wrong - 我试着在谷歌上搜索,但还是没有找到任何东西。 有人知道,有什么问题吗? 感谢您的帮助。根据您的脚本,

这里是我的PHP代码+Oracle登录表单有问题。
在这个PHP文件中,我创建了登录函数。但我有这样一个错误:

    Warning: oci_num_rows() expects parameter 1 to be resource, string given in C:\xampp\htdocs\developers\it\session.php on line 12
Wrong
-


我试着在谷歌上搜索,但还是没有找到任何东西。 有人知道,有什么问题吗?
感谢您的帮助。

根据您的脚本,而不是

if(oci_num_rows($cek)==1) 
你应该打电话

if(oci_num_rows($result)==1)

根据你的剧本而不是

if(oci_num_rows($cek)==1) 
你应该打电话

if(oci_num_rows($result)==1)

当您询问从
oci\u num\u rows()返回的行数时,可能希望使用
$result
而不是
$cek
。但是,您确实希望避免直接在字符串中使用
$username
$password
。这将使您更容易受到SQL注入攻击,因此请考虑将
oci\u parse


在此之后,您还应该始终在重定向序列之后调用
exit()
,因为如果您不这样做,脚本将继续运行(这可能是其他地方的安全问题)。

当您请求从
oci_num_rows()返回的行数时,您可能希望使用
$result
而不是
$cek
。但是,您确实希望避免直接在字符串中使用
$username
$password
。这将使您更容易受到SQL注入攻击,因此请考虑将
oci\u parse


在这之后,您还应该始终在重定向序列之后调用
exit()
,因为如果您不这样做,脚本将继续运行(这可能是其他地方的安全问题)。

我也遇到了同样的情况,所以我用这样的脚本来欺骗它,但我不知道是否有影响。因为会议和验证进行得很顺利

    $username =$_POST['username'];
    $password = $_POST['password'];

    $conn = oci_connect('xxx', 'xxx', 'localhost/MYDB');
    $pass_encription = md5($password);
    $query = "SELECT * from *table_name* WHERE *field1*='".$username."' and *field2*='".$password."'";
    $result = oci_parse($conn, $query);
    oci_execute($result);
    $exe = oci_fetch($result);
     if ($exe > 0)
     {
        oci_close($conn);
        oci_execute($result);
        $row        =oci_fetch_array($result);

        $sid        = $row['field_1_parameter'];
        $snama      = $row['field_2_parameter'];
        $sjab       = $row['field_3_parameter'];

        $session    = array     ( 
                                    'field_1_array'             =>$sid,
                                    'field_2_array'             =>$snama,
                                    'field_3_array'             =>$sjab 
                                );

        if($sjab == 'Administrator')
            {
                $this->session->set_userdata($session);
                redirect('redirecting_page');
            }

`我也遇到了同样的情况,所以我用这样的脚本来欺骗它,但我不知道是否有影响。因为会议和验证进行得很顺利

    $username =$_POST['username'];
    $password = $_POST['password'];

    $conn = oci_connect('xxx', 'xxx', 'localhost/MYDB');
    $pass_encription = md5($password);
    $query = "SELECT * from *table_name* WHERE *field1*='".$username."' and *field2*='".$password."'";
    $result = oci_parse($conn, $query);
    oci_execute($result);
    $exe = oci_fetch($result);
     if ($exe > 0)
     {
        oci_close($conn);
        oci_execute($result);
        $row        =oci_fetch_array($result);

        $sid        = $row['field_1_parameter'];
        $snama      = $row['field_2_parameter'];
        $sjab       = $row['field_3_parameter'];

        $session    = array     ( 
                                    'field_1_array'             =>$sid,
                                    'field_2_array'             =>$snama,
                                    'field_3_array'             =>$sjab 
                                );

        if($sjab == 'Administrator')
            {
                $this->session->set_userdata($session);
                redirect('redirecting_page');
            }

`

对于错误登录,这是正确的。但当我尝试使用正确的登录名登录时,它仍然会显示一条消息“错误”。还有什么帮助吗?
var\u dump(oci\u fetch\u array($result))
并选中它显示如下错误:解析错误:语法错误,第16行的C:\xampp\htdocs\developers\it\session.php中的意外T\u变量导致登录错误,这是真的。但当我尝试使用正确的登录名登录时,它仍然会显示一条消息“错误”。还有什么帮助吗?
var\u dump(oci\u fetch\u array($result))
并选中它显示如下错误:解析错误:语法错误,第16行的C:\xampp\htdocs\developers\it\session.php中出现意外的T\u变量