Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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
未定义变量:第14行C:\xampp\htdocs\CRUD\login.php中的con_Php - Fatal编程技术网

未定义变量:第14行C:\xampp\htdocs\CRUD\login.php中的con

未定义变量:第14行C:\xampp\htdocs\CRUD\login.php中的con,php,Php,您可以将其设置为函数中的全局值,也可以将其传递到参数中以访问它 <?php $con = mysqli_connect('localhost', 'root', '', 'crud_db'); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } function signin() {

您可以将其设置为函数中的全局值,也可以将其传递到参数中以访问它

<?php

    $con = mysqli_connect('localhost', 'root', '', 'crud_db');
    if (mysqli_connect_errno()) 
    {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    function signin() 
    {
      $session_start;
      if (!empty($_POST['email'])) 
      {
        echo "not empty";
        $query = "SELECT * FROM 'employee' where email= '$_POST ['email']' AND password=   '$_POST ['pwd']'";
        $result = mysqli_query($con, $query);
        $row = mysqli_fetch_array($result);

        if (!empty($row['email']) AND !empty($row['password'])) {
            echo "successfully login";
        } else {
            echo "login fail";
      }
    }

    }

    if (isset($_POST['submit'])) 
    {
      signin();
    }
?> 

与问题无关,但:

$con = mysqli_connect('localhost', 'root', '', 'crud_db');
if (mysqli_connect_errno()) 
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

function signin($con) 
{
  session_start();
  if (!empty($_POST['email'])) 
  {
    echo "not empty";
    $query = "SELECT * FROM employee where email= '$_POST ['email']' AND password=   '$_POST ['pwd']'";
    $result = mysqli_query($con, $query);
    $row = mysqli_fetch_array($result);

    if (!empty($row['email']) AND !empty($row['password'])) {
        echo "successfully login";
    } else {
        echo "login fail";
  }
}

}

if (isset($_POST['submit'])) 
{
  signin($con);
}
?> 
这是行不通的

 $query = "SELECT * FROM 'employee' where email= '$_POST ['email']' AND password=   '$_POST ['pwd']'";
将工作,但它仍然是sql注入易受攻击的


用不同的php脚本编写数据库端和函数端,就像这样,它可能会工作

$query = "SELECT * FROM 'employee' where email= '{$_POST ['email']}' AND password=   '{$_POST['pwd']}'";

function.php

请提供代码请清理代码,太可怕了+1查找错误,但您应该建议将$con作为参数传递,而不是全局-1:在函数中将其声明为全局变量可能会解决问题,但这是一个混乱的解决方案。更好的方法是将其作为参数传递。有时,全局变量是正确的解决方案,但在这种情况下,不应依赖于在全局范围内初始化变量的假设-应将其显式声明为全局变量,即使预期范围是全局的,多亏了veerendra,它仍然有效。你能帮我解决这个错误吗?mysqli_fetch_array()希望参数1是mysqli_result,C:\xampp\htdocs\CRUD\login.php中的第行中给出了null15@AshuChauhan我正在编辑答案,如果答案对您有帮助,请接受:)我认为错误应该现在解决,因为您现在正在获得连接,所以查询将返回result@symcbean是 啊我也不喜欢环球队,但是-1有点苛刻,尤其是当他解决了问题的时候
<?php 
$con = mysqli_connect('localhost', 'root', '', 'crud_db');
?>

function.php
<?php
include('database.php');
function signin() 
{
global $con;
  session_start();
  if (!empty($_POST['email'])) 
  {
    echo "not empty";
    $query = "SELECT * FROM employee where email= '$_POST ['email']' AND password=   '$_POST ['pwd']'";
    $result = mysqli_query($con, $query);
    $row = mysqli_fetch_array($result);

    if (!empty($row['email']) AND !empty($row['password'])) {
        echo "successfully login";
    } else {
        echo "login fail";
  }
}

}


?>