else部分不工作,而php中的条件为false
为什么else部分不起作用?而条件是假的。这是代码。请建议:else部分不工作,而php中的条件为false,php,forms,Php,Forms,为什么else部分不起作用?而条件是假的。这是代码。请建议: function SignUp() { if(isset($_POST['email'])){ $query = mysql_query("SELECT * FROM register WHERE email = '$_POST[email]' AND password = '$_POST[password]'") or die(mysql_error()); if(!$row = mysql_fetch_
function SignUp() {
if(isset($_POST['email'])){
$query = mysql_query("SELECT * FROM register WHERE email = '$_POST[email]' AND password = '$_POST[password]'") or die(mysql_error());
if(!$row = mysql_fetch_array($query) or die(mysql_error())) {
NewUser();}
else{
echo "SORRY...YOU ARE ALREADY REGISTERED USER...";}
}
}
我认为你写了一些错误的语法。请用下面的代码替换代码
function SignUp() {
if(isset($_POST['email'])){
$query = mysql_query("SELECT * FROM register WHERE email = '".$_POST['email']."' AND password = '".$_POST['password']."'") or die(mysql_error());
if(!$row = mysql_fetch_array($query) or die(mysql_error())) {
NewUser();
}
else{
echo "SORRY...YOU ARE ALREADY REGISTERED USER...";
}
}
}
注意:-在开发模式下,您应该打开您的 在较新版本的PHP中,
mysql.*
函数也被弃用。因此,请使用mysqli
或PDO
在php文件的顶部写下几行,查看所有错误、警告和通知
error_reporting(E_ALL);
ini_set("display_errors", 1);
按如下方式重写您的函数:-
function SignUp() {
if(isset($_POST['email'])){
$query = mysql_query("SELECT * FROM register WHERE email = '$_POST[email]' AND password = '$_POST[password]'") or die(mysql_error());
// $query returns true or false
if($query) {
NewUser();
}
else{
echo "SORRY...YOU ARE ALREADY REGISTERED USER...";
}
}
}
希望它能帮助您:)更改您的条件并使用
mysql\u num\u rows()
作为:
function SignUp() {
if(isset($_POST['email']))
{
$query = mysql_query("
SELECT * FROM register WHERE
email = '$_POST[email]'
AND password = '$_POST[password]'
") or die(mysql_error());
// if record exist
if(mysql_num_rows($query) > 0){
echo "SORRY...YOU ARE ALREADY REGISTERED USER...";
}
else{
NewUser(); // register new user
}
}
}
来自您的评论: >使用mysql_num_rows()显示空白屏幕脚踝 在文件顶部添加
error\u reporting()
,并检查您收到的错误
ini_set("display_errors", 1);
error_reporting(E_ALL);
旁注:
请使用mysqli\
*或PDO
扩展,因为mysql\*
在PHP7中已被弃用和关闭
如果(!$row=mysql\u fetch\u数组($query)或死亡(mysql\u error()){
由于它通过放置返回false
!
您正在使其为真,因此您的其他条件无法检查记录是否已存在于表中。并且不要使用mysql*
函数,它们从PHP5.5开始就被弃用,在PHP7.0中被完全删除。请使用或当条件为false时,int out指出问题所在。删除后!它返回键primary的重复项。现在,如果数据库中已经存在用户,则条件中只会出现空白屏幕。如何使用mysql_i和PDO此链接将帮助您。@Anks:我的朋友是什么?@Anks:…但在此之前,请解决您的问题,然后继续mysqli@Anks:很高兴帮助你