Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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 我正在尝试连接到数据库_Php_Mysqli - Fatal编程技术网

Php 我正在尝试连接到数据库

Php 我正在尝试连接到数据库,php,mysqli,Php,Mysqli,我试图连接到一个数据库,但每次我有机会更改数据库或连接字符串时,都会弹出一个错误。我目前正在使用php mysqli,wamp不会显示连接本身的任何错误 calc.php: class Login { var $con; function __construct($con){ $this->con = $con; } function try_connecting(){ $connecting = true; if($connecting){

我试图连接到一个数据库,但每次我有机会更改数据库或连接字符串时,都会弹出一个错误。我目前正在使用php mysqli,wamp不会显示连接本身的任何错误

calc.php:

class Login {   
var $con;
function __construct($con){
    $this->con = $con;
}
function try_connecting(){
    $connecting = true;
    if($connecting){
        if(!$this->con){
            die ("Could not connect") . $this->con->connect_errno;
        } else {
            echo "connected";
        }
        } else {
        return $connecting;
    }
}   
function try_login(){
    if(try_connecting()){
        $q = "SELECT username, password FROM persons WHERE username = " . $_POST["username"] . " AND password = " .  $_POST['pwd'];
        $rows = $this->con->num_rows;   
        if($rows == 1){
            echo "true";
        } else {
            echo "not user";
        }
    }
}
}
下面是test.php:

    <?php
        include("calc.php");

        $u = $_POST['username'];
        $p = $_POST['pwd'];
        $con = mysqli_connect("localhost","root","","rdb");
        $form = new Login($con);
        $form->try_connecting();
        $form->try_login();
    ?>

连接字符串错误未知数据库


您忘记运行此查询

$q = "SELECT username, password FROM persons WHERE username = " . $_POST["username"] . " AND password = " .  $_POST['pwd'];
$rows = $this->con->num_rows;   
尝试添加

$this->con->query($q)

在test.php文件中的上述

行之间,您确定数据库rdb存在吗?请参见:。我想你不希望我用
'admin'用户名登录;——和空白密码;-)好。。。首先,try_connecting()函数没有任何作用,也没有任何用途,您应该只验证传递给构造函数的参数,而不是每次查询时都检查它。而且,您从来没有实际运行过查询,您只是构建了一个包含查询的字符串。您需要在某处调用mysqli\u query()。您也没有验证输入,因此容易受到SQL注入的影响。使用用户输入生成查询时,应使用准备好的语句。您的错误表明
mysqli\u connect()
有问题。您的登录凭据正确吗?
rdb
是您数据库的名称吗?我要再次阅读这个问题
我正在尝试连接到db
。。此外,该查询有许多问题,不应使用。此查询工作的可能性为<%5,如果是,则发送数据的表单存在严重缺陷。