douzhulan1815 2013-07-27 12:00
浏览 35
已采纳

使用方法进行连接的问题[关闭]

I have been unsuccessful trying to make a connection using a method in my code. Previously I used the $con variable as per my code. This made the connection and all seemed to be OK. P.S all my paths are correct.

 <?php

$con = new dbmember();
$con->openDB();

//
// this WORKS but I want to use my function to do this for me instead
//$con=mysqli_connect("localhost","user","password","db_name");
//  
$user=$_POST['user']; 
$password=$_POST['password'];

if(isset($_POST['submit'])){


//To ensure that none of the fields are blank when submitting the form if
if(isset($_POST['user']) && isset($_POST['password'])) 
    {    

        $user = stripslashes($user);
        $password = stripslashes($password);
        $user = mysqli_real_escape_string($con, $user);
        $password = mysqli_real_escape_string($con, $password);

        //SQL Injection Ahoy! I know...but future versions aim to be robust!

$sql="SELECT * FROM users WHERE username='users' and password='password'";
$result=mysqli_query($con, $sql);

$row=mysqli_fetch_array($result);

if($row[0]==1)
{
    session_start();
    $_SESSION['user'] = $user;
    $_SESSION['password'] = $password;
    $_SESSION['loggedin'] = "true";
    header("location:index.php");
}
        else
        {
            print ('<div id="error">Acess denied, wrong username or password?</div>');
        }
        }
        else
            {
            print ('<div id="error">Enter something!</div>');
        }

}

    ?>

This is my method

<?php

require("assets/configs/db_config.php");

class dbmember {
    /* DB connection handle */

    var $conn;


  function openDB() {


// 1. Create a database connection
$conn = mysqli_connect("localhost" , "username", "password","db_name");
if (!$conn)
{
    $this->error_msg = "connection error could not connect to the database:! ";  
    return false;

Error given :

Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, object given in C:\xampp\htdocs\c\login.php on line 98

Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, object given in C:\xampp\htdocs\c\login.php on line 99

Warning: mysqli_query() expects parameter 1 to be mysqli, object given in C:\xampp\htdocs\c\login.php on line 104

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\c\login.php on line 106

I can only assume $con must not be passing correctly. Can you offer a solution?

  • 写回答

1条回答 默认 最新

  • dongzan7016 2013-07-27 12:06
    关注

    instead of

    $result=mysqli_query($con, $sql);
    

    try

    $result=mysqli_query($con->conn, $sql);
    

    and change

    $conn = mysqli_connect("localhost" , "username", "password","db_name");
    if (!$conn)
    {
    

    to

    $this->conn = mysqli_connect("localhost" , "username", "password","db_name");
    if (!$this->conn)
    {
    ....
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向