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

2q5ifsrm  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(322)
  1. /*php file*/
  2. <?php
  3. require("DBinfo.inc");
  4. $query= "insert into login (first_name,email,password,picture_path) values ('" . $_GET['first_name'] . "'," . $_GET['email'] . "'," . $_GET['password'] . "'," . $_GET['picture_path'] . "')";
  5. $result = mysqli_query($connect,$query);
  6. if (!$result){
  7. $output="{'msg':'fail'}";
  8. }else{
  9. $output="{'msg':'user is added'}";
  10. }
  11. print($output);
  12. mysqli_close($connect);
  13. ?>
  14. /*DBinfo.inc*/
  15. <?php
  16. $host="localhost";
  17. $user="root";
  18. $password="root";
  19. $database ="twitter";
  20. $connect = mysqli_connect($host, $user, $password, $database);
  21. if(mysqli_connect_errno()){
  22. die("Cannot connect to database". mysqli_connect_error());
  23. }
  24. ?>
  25. OUTPUT:
  26. {'msg':'fail'}

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

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

xzlaal3s1#

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

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

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

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

相关问题