dsfsfdsf4544 2018-07-15 09:06
浏览 90
已采纳

mysqli connect命令不起作用

/*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 is connecting to database but it is not storing the data

i am using my own computer as a server and running this line to execute the above file:

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

can anyone tell me what is the error in this i am new to this

  • 写回答

1条回答 默认 最新

  • doulu1325 2018-07-15 09:09
    关注

    You are missing ' in your sql when setting values.

    Change

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

    to

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

    In fact,you had better use Prepared Statements to set parameters in order to avoid Sql Injection

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?