Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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_Mysql_Mysqli_Sql Insert - Fatal编程技术网

Php 无法插入到数据库中

Php 无法插入到数据库中,php,mysql,mysqli,sql-insert,Php,Mysql,Mysqli,Sql Insert,我正试图通过网站向我的留言簿添加一些内容。但问题是:我无法插入数据库。 使用我的WAMP服务器,我可以使用下面的查询直接插入它 我也测试了$name变量,并且正确地填写了它们。我已经切换了$con和$sql。我尝试用不同的方式格式化查询,而不使用{}和{}。但哪怕是一个选择似乎都行不通。与我的DBS的连接是有效的(我在这里没有包括这一部分)。我尝试了mysql\u查询和mysqlI\u查询 我的WAMP服务器启用了php_mysqli。当我运行它时,它不会给出任何错误 你们知道我做错了什么吗 $

我正试图通过网站向我的留言簿添加一些内容。但问题是:我无法插入数据库。 使用我的WAMP服务器,我可以使用下面的查询直接插入它

我也测试了$name变量,并且正确地填写了它们。我已经切换了$con和$sql。我尝试用不同的方式格式化查询,而不使用{}和{}。但哪怕是一个选择似乎都行不通。与我的DBS的连接是有效的(我在这里没有包括这一部分)。我尝试了mysql\u查询和mysqlI\u查询

我的WAMP服务器启用了php_mysqli。当我运行它时,它不会给出任何错误

你们知道我做错了什么吗

$con = mysqli_connect($host, $username, $password)or die("cannot connect");
mysqli_select_db($con, $db_name)or die("cannot select DB");

$datetime=date("y-m-d h:i:s"); //date time
$name= $_POST['name'];
$email= $_POST['email'];
$comment= $_POST['comment'];
$sql="INSERT INTO guestbook(name, email, comment, datetime) VALUES('{$name}','${email}','{$comment}','{$datetime}')";
mysql_query($sql,$con);
//链接到查看留言簿页面
标题('location:viewguestbook.php')

请尝试此操作,下次您必须搜索mysqli准备的语句

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");


if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

$mysqli->query("insert...");

我不知道你犯了什么错误。您可以这样做:

mysqli_query($con, $query) or die(mysqli_error($con));

在插入查询中,您使用${email}而不是{$email},并将mysql_查询更改为mysqli_查询 下面是应该工作的代码

$con = mysqli_connect($host, $username, $password)or die("cannot connect");
mysqli_select_db($con, $db_name)or die("cannot select DB");

$datetime=date("y-m-d h:i:s"); //date time
$name= $_POST['name'];
$email= $_POST['email'];
$comment= $_POST['comment'];
$sql="INSERT INTO guestbook(name, email, comment, datetime) VALUES('{$name}','{$email}','{$comment}','{$datetime}')";
mysqli_query($sql,$con);

SQL注入。。。。自90年代末以来的第一次失败你混合了
mysql\u*
mysqli\u*
不使用mysql\u*。改用
here is the problem in this statement

mysql_query($sql,$con);

problem 1: you are using mysqli and in above statement your are querying mysql.

problem 2: $con(connection variable is must be the first parameter)

Write this statement as folloing. that will solve the problem

mysqli_query($con,$sql);