Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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/mySQL:INSERT INTO未发布正确的值_Php_Html_Mysql - Fatal编程技术网

PHP/mySQL:INSERT INTO未发布正确的值

PHP/mySQL:INSERT INTO未发布正确的值,php,html,mysql,Php,Html,Mysql,我尝试使用以下代码将表单中的一些值插入数据库: <?php $link = mysqli_connect("myHost", "myUsername", "myPW", "myDB"); // Check connection if($link === false){ die("ERROR: Could not connect. " . mysqli_connect_error()); } // Escape user inputs for security $name1 =

我尝试使用以下代码将表单中的一些值插入数据库:

<?php
$link = mysqli_connect("myHost", "myUsername", "myPW", "myDB");

// Check connection
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

// Escape user inputs for security
$name1 = mysqli_real_escape_string($link, $_REQUEST['plannercolumn1']);
$name2 = mysqli_real_escape_string($link, $_REQUEST['plannercolumn2']);
$name3 = mysqli_real_escape_string($link, $_REQUEST['plannercolumn3']);
$name4 = mysqli_real_escape_string($link, $_REQUEST['plannercolumn4']);
$name5 = mysqli_real_escape_string($link, $_REQUEST['plannercolumn5']);
$name6 = mysqli_real_escape_string($link, $_REQUEST['plannercolumn6']);

// attempt insert query execution
$sql = "INSERT INTO anmeldungen (FR_PM) VALUES ('$name1')";
$sql = "INSERT INTO anmeldungen (SA_AM) VALUES ('$name2')";
$sql = "INSERT INTO anmeldungen (SA_PM) VALUES ('$name3')";
$sql = "INSERT INTO anmeldungen (SO_AM) VALUES ('$name4')";
$sql = "INSERT INTO anmeldungen (SO_PM) VALUES ('$name5')";
$sql = "INSERT INTO anmeldungen (MO_AM) VALUES ('$name6')";
if(mysqli_query($link, $sql)){
    echo "Name ", $name1, " erfolgreich eingetragen. Wir freuen uns auf dich!";
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}

// close connection
mysqli_close($link);
?>

当我提交表单时,它会创建一个新行,但它不会在所有列中插入任何值,而是在MOU AM列中。我的PHP中有错误吗?

您的SQL查询应该是:

$sql = "INSERT INTO `anmeldungen`(`FR_PM`,`SA_AM`,`SA_PM`,`SO_AM`,`SO_PM`,`MO_AM`) 
                VALUES ('$name1','$name2','$name3','$name4','$name5','$name6')";

虽然不应使用$variable作为插入,但应注意绑定这些变量以防止SQL注入。

您所做的只是覆盖查询。您可以在同一个表中插入多个值。 更改您的查询:-

编辑: 如果对查询使用多行,则应如下所示。 在附加变量时也是如此

$sql = 'INSERT INTO anmeldungen (FR_PM,SA_AM,SA_PM,...)'
      .' VALUES ('.$name1.','.$name2.','. .... .)'
      ;

您的查询应该如下所示:

$sql = "INSERT INTO anmeldungen 
(FR_PM,SA_AM,SA_PM,SO_AM,SO_PM,MO_AM) 
VALUES ('$name1','$name2','$name3','$name3','$name4','$name5','$name6')";

你确定$name变量有值吗?

天哪,为什么一个查询要插入这么多内容?哇哦。是的,我现在将其更改为$sql=INSERT-INTO-anmeldungen FR_-PM、SA_-AM、SA_-PM、SO_-AM、SO_-PM、MO_-AM值“$name1、$name2、$name3、$name4、$name5、$name6”;如果要插入一行,请尝试以下操作:$sql=insert-INTO-anmeldungen FR_-PM、SA_-AM、SA_-PM、SO_-AM、SO_-PM、SO_-PM值“$name1”、“$name2”、“$name3”、“$name4”、“$name5”、“$name6”;回答你的问题是的,有一个错误,但它不是在你的php中,而是你对MySQL的使用。我犯了很愚蠢的错误。太累而不能工作;不,有时$name变量中有些是空的,有些是满的。那个么,当$name变量为空时,我该如何管理它,它只插入一个空值?然后将变量值设置为空字符串。Ye,我已经知道了。问题是有些值有时是空的。因此,列计数与值计数不匹配:/在该实例中,在数据库中,您需要允许其中一些字段允许NULL。或者简单地向php添加条件,向用户声明他们必须填写所有字段等等,所以我允许NULL。用户不必填写所有字段。是的,只需在数据库端的列上允许NULL即可。错误:无法执行INSERT INTO ANMELDUGEN FR_PM、SA_AM、SA_PM、SO_AM、SO_PM、MO_AM VALUES',test、test、test'。列计数与第1行的值计数不匹配,因此在本例中,$name1、$name5和$name6为空。Ye,已经解决了这个问题。问题是有些值有时是空的。因此列计数与值计数不匹配:/n您的列可以接受空记录吗?还是必须为记录指定一个值?