插入 cpanel phpmyadmin 时查询数据库时出错

Error querying database when inserting into cpanel phpmyadmin

<?php
    $fname=$_POST['fname'];
    $mname=$_POST['mname'];
    $lname=$_POST['lname'];
    $college_name=$_POST['college_name'];
    $semester=$_POST['semester'];
    $contact=$_POST['contact'];
    $email=$_POST['email'];


    $dbc = mysql_connect('localhost','XXXX',"XXXX",'XXXXX')
            or die('error connecting to MYSQL server');
    echo kkk;
    $query = "INSERT INTO tab_m_registration(fname, mname, lname, college_name, semester, contact, email)".
            "VALUES(`$fname`, `$mname`, `$lname`, `$college_name`, `$semester`, `$contact`, `$email`)";
            echo $query;
            $result=mysql_query($query,$dbc) or die('error querying database');

            echo $result;

            echo 'Thanx for submitting the form. <br/>';
            mysql_close($dbc);

        ?>

其实我不明白问题出在哪里

$result = mysql_query($query, $dbc)

我认为是行不通的。

我第一次尝试 mysqli_query() 但遇到了问题。然后我试了这个

$result = mysql_query($dbc, $query)

我在 mysql_query() 中收到错误 "argument 1 should be string"。

我交换了值,最后使用了这个 mysql_query($query, $dbc)

显示通过echo的值。

但是在数据库中插入数据时仍然存在问题 table。请帮帮我。

您需要进一步调查错误(获取一些错误消息)。您可以使用 try/catch 块来获取更多错误消息(是否已设置所有字段等)。考虑以下代码,但请记住,它仍然对 SQL 注入敞开大门(只是为了获得错误消息):

try {
    $db = mysqli_connect("host", "user", "password", "database");
    if ($db->connect_errno)
        throw new Exception("Connection to the database failed: " . $db->connect_error);

    $sql = "INSERT INTO tab_m_registration (`fname`, `mname`, `lname`, `college_name`, `semester`, `contact`, `email`) ";
    $sql .= "VALUES(`$fname`, `$mname`, `$lname`, `$college_name`, `$semester`, `$contact`, `$email`)";

    if (!$db->query($sql))
        throw new Exception("Error Inserting Data " . $db->error);

    mysqli_close($db);
} catch (Exception $e) {
    echo $e->getMessage();
}