我使用数据库在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。