下面我的PHP代码用于医院设置,我希望应用程序仅在房间号等于1时插入数据,如果房间号等于2或任何其他数字我希望它返回错误。有人可以告诉我如何解决这个问题吗?感谢
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.2.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.2.0.RELEASE</version>
</dependency>
<!-- Spring Security Jars starts-->
<!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-config -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>4.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>4.2.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-web -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>4.2.0.RELEASE</version>
</dependency>
<!-- Spring Security Jars ends-->
答案 0 :(得分:2)
您应该在第一个条件下执行查询,否则会显示错误:
if($room_number == '1') {
$mysql_qry = "insert into patients2
(patient_name, doctor_name, check_in_date, room_number, bed_number, notes, time)
values ('$patient_name', '$doctor_name', '$check_in_date', '$room_number', '$bed_number', '$notes', '$time')";
if($conn->query($mysql_qry) === TRUE) {
echo "Insert successful";
} else {
echo "Error: " . $mysql_qry . "<br>" . $conn->error;
}
}
else {
echo "Error: Room number value must be 1.";
}
另外请注意您的第if($room_number = '1')
行,在这种情况下,您将值分配给您的变量=
,而不是将其与两个{{1}进行比较}
答案 1 :(得分:0)
if($room_number == '1'){
$mysql_qry = "insert into patients2
(patient_name, doctor_name, check_in_date, room_number, bed_number, notes, time)
values ('$patient_name', '$doctor_name', '$check_in_date', '$room_number', '$bed_number', '$notes', '$time')";
}
else
{
echo "Error: " . $mysql_qry . "<br>" . $conn->error;
}
答案 2 :(得分:0)
首先,你的情况是错误的。您没有检查$room_number
是否等于1,但是您要分配字符串&#34; 1&#34;到那个变量。您需要2 =
个符号才能进行比较,或3 =
进行严格的比较。请在此处详细了解:http://php.net/manual/en/language.operators.comparison.php
其次,你需要调整你的逻辑。您正在检查房间号是否等于1,然后在其他区块中检查房间号是否为1,冗余检查。只有在房间号不等于1时才会执行else,因此无需再次检查。最后,无论$room_number
值如何,都执行查询。将底部移动到第一个if的主体中。像这样:
<?php
if ($room_number === "1") {
$mysql_qry = "insert into patients2
(patient_name, doctor_name, check_in_date, room_number, bed_number, notes, time)
values ('$patient_name', '$doctor_name', '$check_in_date', '$room_number', '$bed_number', '$notes', '$time')";
if($conn->query($mysql_qry) === TRUE) {
echo "Insert successful";
} else {
echo "Error: " . $mysql_qry . "<br>" . $conn->error;
}
} else {
echo "Room number does not equal 1";
}
现在,我们检查$ room_number是否为string("1")
,如果是,我们创建查询并执行它。如果执行成功,我们打印成功消息,否则打印查询错误。如果$ room_number不完全是"1"
,我们会显示有关它的错误消息。