mysqli正在连接到数据库,但它没有存储数据

2q5ifsrm  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(285)
/*php file*/

<?php
require("DBinfo.inc");

$query= "insert into login (first_name,email,password,picture_path) values ('" . $_GET['first_name'] . "'," . $_GET['email'] . "'," . $_GET['password'] . "'," . $_GET['picture_path'] . "')";  

$result = mysqli_query($connect,$query);

if (!$result){
    $output="{'msg':'fail'}";
}else{
    $output="{'msg':'user is added'}";
}

print($output);
mysqli_close($connect);
?>

/*DBinfo.inc*/
<?php

$host="localhost";
$user="root";
$password="root";
$database ="twitter";

$connect = mysqli_connect($host, $user, $password, $database);

if(mysqli_connect_errno()){
    die("Cannot connect to database". mysqli_connect_error());
}

?>

OUTPUT:
{'msg':'fail'}

mysqli正在连接到数据库,但它没有存储数据
我使用自己的计算机作为服务器,并运行此行来执行上述文件:

http://localhost:90/Register.php?first_name=adi&email=a@yagoo.com&password=12345&picture_path=home/u.png
xzlaal3s

xzlaal3s1#

你失踪了 ' 在sql中设置值时。
改变

$query= "insert into login (first_name,email,password,picture_path) values ('" . $_GET['first_name'] . "'," . $_GET['email'] . "'," . $_GET['password'] . "'," . $_GET['picture_path'] . "')";

$query= "insert into login (first_name,email,password,picture_path) values ('" . $_GET['first_name'] . "','" . $_GET['email'] . "','" . $_GET['password'] . "','" . $_GET['picture_path'] . "')";

实际上,为了避免sql注入,最好使用prepared语句来设置参数

相关问题