我的系统出现问题,我在youtube视频中遵循以下代码。但更改一些文字。这是我的代码
<label>Department</label>
<select>
<?php
include 'php/connect.php';
$sql = "SELECT member_type_id FROM member_type";
$result = mysqli_query($conn, $sql);
echo "Select a Department";
while ($row =mysql_fetch_array($result)) {
echo "<option value='" . $row['member_type_id'] ."'>" . $row['member_type_id'] ."</option>";
}
?>
</select>
问题是,它没有向我显示该表中的值,这是我的数据库表
该html文件还可以,但是当我单击subit时,我总是会导致成员注册失败,请有人纠正我的代码
<?php
include 'php/connect.php';
$Lname = $_POST['Lname'];
$Fname = $_POST['Fname'];
$Mname = $_POST['Mname'];
$Bdate = $_POST['Bdate'];
$Address = $_POST['Address'];
$Contact = $_POST['Contact'];
$member_type_id = $_POST['Dept'];
$Gender = $_POST['Gender'];
if($Lname == '' OR $Fname == '' OR $Mname =='' OR $Bdate == '' OR $Address =='' OR $Contact =='' OR $Gender =='' OR $member_type_id =='')
{
echo "Fill in all the forms";
}
else {
$sql = "INSERT INTO members (Lname, Fname, Mname, Bdate, Dept, Address, Contact, Gender)
VALUES ('$Lname', '$Fname', '$Mname', '$Bdate',
'$member_type_id', '$Address', '$Contact', '$Gender')";
if ($conn->query($sql) === TRUE)
{
echo "A Member has been added successfully";</script>";
}
else
{
回显“成员注册失败”; }
}
$ conn-> close();
?>
答案 0 :(得分:1)
启动HTML无效,具体是:
even = []
for number in items:
if not number % 2:
even.append(number)
if even:
print(even[0])
else:
print(-1)
这将导致HTML出现这种情况
echo "Select a Department";
实际上,应将第一件事作为回声
<select>
Select a Department
<option value="1">Faculty</option>
...
</select>
因此您的HTML将是正确的
就查询而言,谁知道。不知道您是否设置了 echo '<option value="" >Select a Department</option>'
并建立了正确的连接。
$conn
除此之外
$result = mysqli_query($conn, $sql);
只给您数字(没人想选择1、2或3)他们怎么知道1 =教师?
$sql = "SELECT member_type_id FROM member_type";
将为您提供一切,就像在PHPmyAdmin中一样。然后:
$sql = "SELECT * FROM member_type";
假设您的 echo "<option value='" . $row['member_type_id'] ."'>" . $row['member_type'] ."</option>";
变量是适当的连接资源,将为您提供文字。
最后,这种引用的东西很难看。而是这样做(我无法在HTML中用单引号引起来)
$conn
也就是说,如果必须使用单引号,至少要以明智的方式使用变量插值。
echo '<option value="'.$row['member_type_id'].'">'.$row['member_type'].'</option>';
另一件事(那件事)
echo "<option value='{$row['member_type_id']}'>{$row['member_type']}</option>";
从PHP7开始, mysql_fetch_array
函数集已失效,mysql_*
和mysql_
之间存在巨大差异。但除此之外,您还希望mysqli_
如下:
mysqli_fetch_assoc()
更新
最重要的可能是打开显示错误和错误报告。让PHP告诉您什么地方出了问题,为什么要为此苦苦挣扎。
while ($row =mysqli_fetch_assoc($result)) {
说<?php
error_reporting(-1);
ini_set('display_errors','1');
或在注释中张贴大量代码并没有帮助。编程很难。就像数学一样,您必须精确地做自己想做的事情,否则就做不到期望的事情。有成百上千种可能出错的东西,通常只有少数几样会起作用。
谢谢!
答案 1 :(得分:0)
更新您的连接字符串
<label>Department</label>
<select name='memberName'>
<option>Select</option>
<?php
// Create connection
$conn = mysqli_connect("localhost", "root", "", "library_system");
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT member_type_id FROM member_type";
$result = mysqli_query($conn, $sql);
echo "<select member_type_id='sub1'>";
while($row = mysqli_fetch_assoc($result)) {
echo "<option value='" . $row['member_type_id'] ."'>" . $row['member_type_id'] ."</option>";
}
?>
</select>
答案 2 :(得分:0)
使用下面的代码,您将获得所需的结果-
<label>Department</label>
<select>
<option value="">Select a Department</option>
<?php
include 'php/connect.php';
$sql = "SELECT member_type_id, member_type FROM member_type";
$result = mysqli_query($conn, $sql);
while ($row =mysqli_fetch_array($result)) {
echo "<option value='" . $row['member_type_id'] ."'>" . $row['member_type'] ."</option>";
}
?>
</select>
答案 3 :(得分:0)
尝试一下。
<?php
include 'php/connect.php';
$sql = "SELECT member_type_id FROM member_type";
$option = '';
while($row = mysql_fetch_assoc($sql))
{
$option .= '<option value = "'.$row['member_type_id'].'">'.$row['member_type_id'].'</option>';
}
?>
<html>
<body>
<form>
<select>
<?php echo $option; ?>
</select>
</form>
</body>
</html>