我是一个有php和我的sql的新手,我设置了我的第一个用户注册从几个不同的mysql表中提取数据。我基本上想要一个管理员可以创建gp实践的表,然后这可以在注册时显示为用户的下拉列表。
我想从gppractices中将名为GPName的字段拉到我使用的页面上的下拉列表中;
<?php $gpquery="SELECT GPName FROM gppractices";
$gpresult=mysql_query($gpquery) or die ("Query to get data from the GP Practice list has failed: ".mysql_error()); ?>
<select name="GPdrop" id="GPdrop">
<?php while ($gprow=mysql_fetch_array($gpresult)) {
$GPName=$gprow["GPName"];
echo '<option id="GPName" value="GPName">'.
$GPName.
'</option>'; } ?>
</select>
然后我想将所选项输出到一个字符串中,该字符串将所有信息插入另一个表(用户);
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "UserDetails")) {
$insertSQL = sprintf("INSERT INTO users (FirstName, LastName, Gender, DOB, UserPractice, Email, UserName, Password, PostCode) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['FirstName'], "text"),
GetSQLValueString($_POST['LastName'], "text"),
GetSQLValueString($_POST['Gender'], "text"),
GetSQLValueString($_POST['DOB'], "text"),
GetSQLValueString($_POST['Practice'], "text"),
GetSQLValueString($_POST['Email'], "text"),
GetSQLValueString($_POST['UserName'], "text"),
GetSQLValueString($_POST['Password'], "text"),
GetSQLValueString($_POST['PostCode'], "text"));
我遇到的问题是我似乎无法将数据库用户的下拉列入UserPractice列。我不知道如何正确定义索引并继续得到相同的错误。
注意:未定义的索引:在第78行的B:\ Program Files \ XAMMP(新)\ htdocs \ UserTests \ UserRegistration.php中练习 专栏&#39; UserPractice&#39;不能为空
我以为我可以用类似的东西修复它;
$Practice = $_POST['GPdrop'
];
我知道我是一个愚蠢的哑巴,我对这一切都很陌生。仍然试图通过教程等将各种东西拼凑在一起,但如果有人可以为我提供帮助并对此有所了解,我会非常感激。
答案 0 :(得分:1)
问题不在PHP中,在表格中,列是&#39; UserPractice
&#39;需要一个值,您发送的变量($_POST['Practice']
)为空或空。
更改字段&#39; UserPractice
&#39;允许NULL。
在尝试插入之前验证该值。