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

Php 插入表格错误

Php 插入表格错误,php,mysql,insert-into,Php,Mysql,Insert Into,这是我的密码 <?php require '../connect/conn.php'; $quest = $_POST['domanda']; $a1 = $_POST['risposta1']; $a2 = $_POST['risposta2']; $a3 = $_POST['risposta3']; $a4 = $_POST['risposta4']; $ins = "INSERT INTO melaraider SET domanda = '$quest',riposta1 = '$

这是我的密码

<?php
require '../connect/conn.php';
$quest = $_POST['domanda'];
$a1 = $_POST['risposta1'];
$a2 = $_POST['risposta2'];
$a3 = $_POST['risposta3'];
$a4 = $_POST['risposta4'];
$ins = "INSERT INTO melaraider SET domanda = '$quest',riposta1 = '$a1',riposta2 = '$a2',riposta3 = '$a3',riposta4 = '$a4'";
$result = mysqli_query($con, $ins);


if(!$result){
    die("query error $ins:" . mysql_error());
}
mysql_close(); 

echo "all done!";
?>
我真的不明白我犯了什么错。。。 有人能帮我吗? 这是一个本地测试,因此我无法显示实时版本。

请尝试以下代码:

<?php
require '../connect/conn.php';
$quest = $_POST['domanda'];
$a1 = $_POST['risposta1'];
$a2 = $_POST['risposta2'];
$a3 = $_POST['risposta3'];
$a4 = $_POST['risposta4'];
$ins = "INSERT INTO melaraider (domanda, riposta1, riposta2, riposta3, riposta4) VALUES('" . $quest . "','" . $a1 . "','" . $a2 . "','" . $a3 . "','" . $a4 . "')";
$result = mysqli_query($con, $ins);


if(!$result){
    die("query error $ins:" . mysql_error());
}
mysql_close(); 

echo "all done!";
?>

我认为您的语法有点不正确。如果使用所有字段,只需指定数据:

$ins = "INSERT INTO melaraider VALUES ('$quest','$a1',$a2','$a3','$a4')";
或者指定字段,然后选择数据

$ins = "INSERT INTO melaraider (domanda,riposta1,riposta2,riposta3,riposta4) 
VALUES ('$quest','$a1',$a2','$a3','$a4')";


编辑:不够快

您使用的是插入+更新代码的组合,您可以看到完整的插入选项。 在你的情况下,你应该使用

$ins = "INSERT INTO melaraider('domanda', 'riposta1', 'riposta2', 'riposta3', 'riposta4') VALUES('$quest','$a1','$a2','$a3','$a4');";

干杯

您对
INSERT
查询使用了错误的语法

以下是文件:

您的查询应该如下所示:

在melaraider(domanda、riposta1、riposta2、riposta3、riposta4)中插入值(“$quest”、“$a1”、“$a2”、“$a3”、“$a4”);

但是,在进一步使用此代码之前,您需要仔细研究如何正确清理输入。您不应该直接将POST数据放入查询中。请参阅:

您而不是Mysql,您将它们混合在一起。
您的插入查询语法也错误

<?php
require '../connect/conn.php';
$quest = $_POST['domanda'];
$a1 = $_POST['risposta1'];
$a2 = $_POST['risposta2'];
$a3 = $_POST['risposta3'];
$a4 = $_POST['risposta4'];
$ins = "INSERT INTO melaraider (domanda, riposta1, riposta2, riposta3, riposta4) 
VALUES ('$quest', '$a1', $a2', '$a3', '$a4')";
$result = mysqli_query($con, $ins);


if(!$result){
    echo "query error $ins:" . mysqli_error($con); //Changed from mysql_error(). Changed from die() to echo, because you always should do mysqli_close()
} else {
    echo "all done!";
}
mysqli_close($con); //changed from mysql_close()

?>
更改

$ins = "INSERT INTO melaraider SET domanda = '$quest',riposta1 = '$a1',riposta2 = '$a2',riposta3 = '$a3',riposta4 = '$a4'";  
为此:

$ins = "INSERT INTO melaraider(domanda, riposta1, riposta2, riposta3, riposta4) VALUES('$quest','$a1', '$a2', '$a3', '$a4')";  
注意:只有在更新数据库中的值时才使用SET

例如:

$ins = "UPDATE melaraider SET domanda = '$quest' WHERE mel_id = some_id";  

这就是全部错误吗?如果您使用的是
mysql\uu
mysqli\u
,我也有点困惑,因为它们都在您的代码中,但您没有显示您的数据库连接。您是否尝试过打开mysql客户端(gui或命令行)并键入插入查询?是的,这非常有效。唯一的一件事,就像其他人已经说过的,我已经在mysqli中更改了mysql_error()和mysql_close()。
$ins = "UPDATE melaraider SET domanda = '$quest' WHERE mel_id = some_id";