简体   繁体   English

数据库不存在,其他文件有效

[英]Database doesn't exist, the other file it works

this is really weird and I don't know why it is like this. 这真的很奇怪,我不知道为什么会这样。 I have my other files work fine (login, registration, and memberadd) however, on memberaddprocess file, when it try to connect to the database, it says that my database doesn't exist. 我的其他文件工作正常(登录,注册和memberadd),但是在memberaddprocess文件上,当它尝试连接到数据库时,它说我的数据库不存在。 The other works fine, only the memberadd process. 另一个工作正常,只有memberadd进程。 If anyone knows why, please kindly explain. 如果有人知道原因,请解释。

This is my memberadd.php code 这是我的memberadd.php代码

<?php
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/chtml-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" >
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="description" content="Web Programming :: Assignment 2" />
    <meta name="Keywords" content="Web, programming" />
    <title>Member Login</title>
</head>

<body>
    <h1>My Member System</h1>

</body>
</html>

<?php
require_once('sqlconnect.inc.php');


if(isset($_SESSION['membername'] ))
    {

    echo "".$_SESSION['membername']."<p>Add Member Page</p>";


$conn = @mysqli_connect($host, 
        $user, 
        $pswd, 
        $dbnm);

    if (!$conn) {
        echo "<p>Database connection failure</p>"; 
    } else {

    @mysqli_select_db($conn, $dbnm)
        or die ("Database not available");
    }

    $memberHid = $_SESSION['membername'];

    $query = "SELECT member_name FROM team";
    $result = mysqli_query($conn, $query);
    if(!$result) {
        echo "<p>Query failed to execute, Error with: ",    $query, "</p>";
        } 

    $queryFetch = mysqli_fetch_row($result);
    //echo "<p> $queryResult1</p>"; 
    $m=0;
    while($queryFetch)
    {
    $mQueryFetch[$m] = $queryFetch[0];
    $queryFetch = mysqli_fetch_row($result);
    $m++;
    }
    $i=0;
    $query2 = "SELECT member_id 
                FROM team 
                WHERE member_name='$memberHid'";

    $result2 = @mysqli_query($conn, $query2);
    $queryFetchResult = mysqli_fetch_row($result);
    $memId = $queryFetchResult[0];

    $query3 = "SELECT COUNT(*) 
               FROM myteam 
               WHERE member_id1 = '$memId'"; //query for counting the no of friends 

    $resultSelect = @mysqli_query($conn,$query3)
                or die ("<p>Query failed to execute.</p>". "<p>Error with:" . mysqli_errno($conn) .":" . mysqli_error($conn))."</p>";

    $arCount = mysqli_fetch_row($resultSelect); 
                echo "<p>Number of Current team member is"." ". $arCount[0]."  "."</p>";

    $querySelect = "SELECT member_id2 FROM myteam WHERE member_id1 = '$memId'";

    $resultSelect2 = @mysqli_query($conn, $querySelect);
    $memArr = mysqli_fetch_row($resultSelect2);
    if($memArr)
    {
        while($memArr)
        {
            foreach($memArr as $value)
                {
                    $querySelect3 = "SELECT member_name
                                     FROM team
                                     WHERE member_id = '$value'";

                    $queryResult = @mysqli_query($conn,$querySelect3);
                    $fetchArr = mysqli_fetch_row($queryResult);
                    foreach($fetchArr as $value)
                    {
                        $newDat[$a] = $value;
                        $a++;
                    }       
                }
                $memArr = mysqli_fetch_row($resultSelect2);
            }

        $curLog = array_diff($mQueryFetch, $newDat); //for displaying profile names without the currently logged in user and his old friends profile names

    $querySelect2 = "SELECT member_name 
                     FROM team;";

    $querySelectResult = @mysqli_query($conn,$querySelect2)
                        or die ("<p>Query Failed to Execute.</p>". "<p>Error with" . mysqli_errno($conn) .":" . mysqli_error($conn))."</p>";

    echo "<table width='20%' border='1'>";
    echo "<tr><th>Member Name</th>";
    echo "<th>Status</th></tr>";
    $fetchArray = mysqli_fetch_row($querySelectResult);
    foreach($diff as $value)
    {
        if($value!=$_SESSION['membername'])
        {
            echo "<tr><td>{$value}</td>";
            $memberHid1 = $value;
            $memberHid = $_SESSION['membername'];
            echo "<td>"?>
            <form action ="memberaddprocess.php" method = "post" >
            <?php echo'<input type="hidden" name="memberHid1"  value="'.htmlspecialchars($memberHid1).'" />';?>
            <?php echo'<input type="hidden" name="memberHid"  value="'.htmlspecialchars($memberHid).'" />';?>
            <p><input type="submit" name="Addmember" value="AddMember" /></p>
            </form>
            <?php "</td></tr>"; 
        }
        $fetchArray = mysqli_fetch_row($querySelectResult);
    }   
        echo"</table>";
    }
    else
    {
        $n=0;
        $querySelect2 = "SELECT member_name FROM team ; ";
        $querySelectResult = @mysqli_query($conn, $querySelect2)
                        or die ("<p>Query Failed to Execute.</p>". "<p>Error with" . mysqli_errno($conn) .":" . mysqli_error($conn))."</p>";

        $fetchArray = mysqli_fetch_row($querySelectResult);
        while($fetchArray)
        {
            if($fetchArray[0] != $_SESSION['membername'])
            {
                $name[$n] = $fetchArray[0];
                $n++;
            }

            $fetchArray = mysqli_fetch_row($querySelectResult);
        }

        sort($name);
        echo "<table width='20%' border='1'>";
        echo "<tr><th>Member Name</th>";
        echo "<th>Status</th></tr>";

        for($n = 0; $n<sizeof($name); $n++)
        {
            $memberHid1 = $name[$n];
            $memberHid = $_SESSION['membername'];
            echo "<tr><td>{$memberHid1}</td>";
            echo "<td>"?>
            <form action ="memberaddprocess.php" method = "post" >
            <?php echo'<input type="hidden" name="memberHid1"  value="'.htmlspecialchars($memberHid1).'" />';?>
            <?php echo'<input type="hidden" name="memberHid"  value="'.htmlspecialchars($memberHid).'" />';?>
            <p><input type="submit" name="Addmember"value="AddMember" /></p>
            </form>
            <?php "</td></tr>"; 
        }
        echo "</table>";
    }
    echo"<p><a href='memberlist.php'>List members</a></p>";
    echo"<p><a href='logout.php'>Log out</a></p>";
    }
    else
    {
    echo "<p> Unauthorized access.Pls login</p>";
    echo"<p><a href='login.php'>Log in</a></p></div>";
    }



?>  

This is my memberaddprocess.php code 这是我的memberaddprocess.php代码

<?php
//////////////////////////////////////
    session_start();
    require_once('sqlconnect.inc.php');
/////////////////////////////////////

    $memberHid1 = $_POST['memberHid1'];  
    $new_session = $_POST['memberHid']; 

    $conn = @mysqli_connect($host, 
        $user, 
        $pswd, 
        $dbnm);

    if (!$conn) {
        echo "<p>Database connection failure</p>"; 
    } else {

    @mysqli_select_db($conn, $dbnm)
        or die ("Database not available");
    }

    $query = "SELECT member_id 
              FROM team 
              WHERE member_name = '$memberHid1'";

    $queryResult = @mysqli_query($conn, $query)
                or die ("<p>Unable to execute query.</p>". "<p>Error code:" . mysqli_errno($conn) .":" . mysqli_error($conn));

    $fetchArr = mysqli_fetch_row($queryResult);

    $memberHid3 = $fetchArr[0];             
    $memberHid = $_SESSION['membername'] = $new_session;

    $query2 = "SELECT member_id 
               FROM member 
               WHERE member_name = '$memberHid'";

    $queryResult2 = @mysqli_query($conn,$query2)
        or die ("<p>Unable to execute query.</p>". "<p>Error code" . mysqli_errno($conn) .":" . mysqli_error($conn));

    $fetchArr2 = mysqli_fetch_row($queryResult2);
    $memberHid4 = $fetchArr2[0];

    $query3 = "INSERT INTO myteam 
               VALUES($memberHid4, $memberHid3)";

    $queryResult3 = @mysqli_query($conn,$query3)
        or die ("<p>Unable to execute query.</p>". "<p>Error code" . mysqli_errno($conn) .":" . mysqli_error($conn))."</p>";
                echo "<p>$memberHid1"."  "." Successfully added</p>";

        $queryCount = "SELECT COUNT(*) 
                       FROM team";
        $countResult = @mysqli_query($conn,$queryCount);
        $fetchCountArr = mysqli_fetch_row($countResult);    
        for($n=0;$n<$fetchCountArr[0];$n++)
        {
            $pst = $n+1;
            $query4 = "SELECT member_id2
                        FROM myteam 
                        WHERE friend_id1 = '$pst'";

            $countResult2 = @mysqli_query($conn,$query4);
            $countArr = mysqli_fetch_row($countResult2);
            $a=0;
            while($countArr)
            {
                $a++;
                $countArr = mysqli_fetch_row($countResult2); //echo "<p>$a</p>";
            }

            $query4 = "UPDATE team 
                       SET num_of_members= '$a' 
                       WHERE member_id = '$pst' ";

            $countResult2 = @mysqli_query($conn,$query4);

        }

    $querySelect = "SELECT member_id2 
                    FROM myteam 
                    WHERE member_id1 = '$memberHid4'";

    $querySelectResult = @mysqli_query($conn, $querySelect);
    $fetchArr = mysqli_fetch_row($querySelectResult);

    while($fetchArr)
    {
        foreach($fetchArr as $value)

        {
            //echo $value;
            $querySelect2 = "SELECT member_name 
                            FROM friends where friend_id='$value'";
            $querySelectResult2 = @mysqli_query($conn, $querySelectResult2);
            $fetchArr2 = mysqli_fetch_row($querySelectResult2);
            foreach($fetchArr2 as $value)
            {
                //echo $value;
            }       
        }
        $fetchArr = mysqli_fetch_row($querySelectResult);
    }

    header("Location:memberadd.php");
    echo('<a href="memberlist.php">Updated memberlist</a></p></div>');
                //header('Location: friendadd.php'); 

?>

It's no easy to determine the problem, but i found a topic on mysql forum ( MySQL says a table doesn't exist, when it does ) that could be related with your problem. 确定问题并非易事,但我在mysql论坛上找到了一个可能与您的问题相关的主题( MySQL表示表不存在,如果存在的话 )。

It's important to make sure that there is no other mysql instance on the computer. 确保计算机上没有其他mysql实例很重要。 This could result in your problem too. 这也可能导致您的问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM