Oracle Php Login Script


Oracle Php Login Script

我使用数据库在php创建了一个登录脚本Mysql但我试图使用Oracle 11g数据库模仿相同的脚本,我的问题是我似乎无法登录 我的页面或通知上没有显示任何错误,我很确定错误来自SQL statements这是我所拥有的,我一直在关注此链接 PHP 甲骨文菜单

我的登录凭证

<?php
                if(isset($_POST['login'])){
                    include 'includes/config.php';
                    $uname = $_POST['uname'];
                    $pass = $_POST['pass'];
                    $query = oci_parse($conn, "SELECT * FROM admin WHERE uname = '$uname' AND pass = '$pass'");
                    oci_execute($query);
                    $rs = $conn->query($query);
                    $num = $rs->num_rows;
                    $rows = $rs->oci_fetch_array();
                    if($num > 0){
                        session_start();
                        $_SESSION['uname'] = $rows['uname'];
                        $_SESSION['pass'] = $rows['pass'];
                        echo "<script type = '"text/javascript'">
                                    alert('"Login Successful.................'");
                                    window.location = ('"admin/index.php'")
                                    </script>";
                    } else{
                        echo "<script type = '"text/javascript'">
                                    alert('"Login Failed. Try Again................'");
                                    window.location = ('"login.php'")
                                    </script>";
                    }
                }
            ?>

我正在尝试学习Oracle PHP脚本,我需要有关如何提前解决此问题的指导。

你的陈述对我来说看起来不错。如果连接字符串 ($conn) 正常,则以下代码应该可以解决问题。

$query = oci_parse($conn, "SELECT * FROM admin WHERE uname = '$uname' AND pass = '$pass'");
oci_execute($query);
if( $rows = oci_fetch_array($query) ){
  //... set session variables, login, etc...
}

该行

if( $rows = oci_fetch_array($query)

如果没有结果,只会返回 false。