Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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 concat显示名字和姓氏,但仅将名字保存到mysql数据库_Php_Mysql_Mysqli - Fatal编程技术网

Php concat显示名字和姓氏,但仅将名字保存到mysql数据库

Php concat显示名字和姓氏,但仅将名字保存到mysql数据库,php,mysql,mysqli,Php,Mysql,Mysqli,我已经在网上搜索了几个小时,但我不知道为什么如果它以正确的形式显示,为什么它不能正确地保存到mysql数据库 在我的表格上,我有一个下拉列表,显示学生姓名,我使用以下代码获取下拉列表的名字和姓氏: <?php $stud_sql = "SELECT CONCAT (First_name,' ', Last_name) AS fullname FROM students"; $stud_results = mysqli_query($db_conx, $stud_sql);

我已经在网上搜索了几个小时,但我不知道为什么如果它以正确的形式显示,为什么它不能正确地保存到mysql数据库

在我的表格上,我有一个下拉列表,显示学生姓名,我使用以下代码获取下拉列表的名字和姓氏:

<?php
$stud_sql = "SELECT CONCAT (First_name,' ', Last_name) AS fullname FROM students";
$stud_results = mysqli_query($db_conx, $stud_sql);
        echo "<select  name='fullname'>";
        while ($row = mysqli_fetch_array($stud_results, MYSQLI_ASSOC)){
            $fullname = $row['fullname'];
            echo "<option  value=".$row['fullname'].">" . $row['fullname'] . "</option>";
            }
            echo "</select>";
            ?>

您试图在保存全名的字段“studentname”中插入,但从“First\u name”和“Last\u name”中检索它。要么在正确的字段中插入名字和姓氏(我建议这样做),要么在字段中插入全名

编辑-看起来好像有人正在玩的很开心,马上向下投票回答,长大。

你有一个HTML错误

在这一行

"<option  value=".$row['fullname'].">" 

看起来您没有正确使用数据库。您应该为学生选择一个ID,以及他们的姓名,例如

SELECT id, CONCAT(first_name, ' ', last_name)
FROM students
然后使用

<option value="$id">$fullname</option>
$fullname
以你的形式


提交后,您将$id值插入incidentform,现在您已经获得了事件和学生之间的链接,该链接基于公共id字段。你的系统基本上会搞垮任何碰巧有共同名字的学生。e、 g.“约翰·史密斯”(id#42)被拘留,但你只在事件报告中存储“约翰·史密斯”。现在约翰·史密斯(#37)和约翰·史密斯(#203)也遇到了麻烦。

而不是在线搜索(你在搜索什么?)您必须调试这段代码…并查看页面源代码作为调试的一部分。现在问题可能会因为过于本地化而被关闭。我已经做了您建议的更改,只做了一个小更改,现在我可以将这两个名称添加到数据库中,但列表中只显示一个名称?还考虑到学校只有80个名称学生不太可能有两个学生同名,但更不可能的是他们会在同一个班级,因为特殊需要学校年龄不是班级形成的因素。
"<option  value='".$row['fullname']."'>" 
SELECT id, CONCAT(first_name, ' ', last_name)
FROM students
<option value="$id">$fullname</option>