在此代码中从 mysql 数据库中获取数据问题

Posted

技术标签:

【中文标题】在此代码中从 mysql 数据库中获取数据问题【英文标题】:Fetching data issue from mysql database in this code 【发布时间】:2016-06-03 13:53:43 【问题描述】:

我正在为即将举行的活动创建一个邀请卡应用程序。我的代码成功地将数据插入到名为 booking 的 mysql 数据库中,该数据库具有表名数据。但是检索有问题。当我填写表格并提交时,它会将数据保存在 db 中,但不会生成任何内容。它给出了以下错误:

致命错误:在第 44 行调用 C:\xampp\htdocs\booking\index.php 中资源的成员函数 query()

这是我的代码,请告诉我如何解决此问题。我将非常感谢你。

<html>
<body>
    <?php 
        if(isset($_POST['add']))
            $dbhost = 'localhost';
            $dbuser = 'root';
            $dbpass = '';
            $conn = mysql_connect($dbhost, $dbuser, $dbpass);

            if(! $conn)
                die('Could not connect: ' . mysql_error());
            

            if(! get_magic_quotes_gpc())
                $emp_name = addslashes($_POST['emp_name']);
                $emp_fname = addslashes($_POST['emp_fname']);   
                $emp_cnic = addslashes($_POST['emp_cnic']); 
                $emp_address = addslashes($_POST['emp_address']);

             else 

                $emp_name = addslashes($_POST['emp_name']);
                $emp_fname = addslashes($_POST['emp_fname']);   
                $emp_cnic = addslashes($_POST['emp_cnic']); 
                $emp_address = addslashes($_POST['emp_address']);
            


            $sql = "INSERT INTO data ". "(CNIC, Name, FatherName, PostalAddress) " . 

"VALUES('$emp_cnic', '$emp_name', '$emp_fname', '$emp_address')";

            mysql_select_db('booking');
            $retval = mysql_query($sql, $conn);

            if(! $retval) die('Could not enter data: ' . mysql_error());


?>

<table border=2>
    ~~~~~~Your Invitation Card~~~~~
    <tr><td>Your Name</td><td><?php
        $sql = "SELECT name FROM data";
        $result = $conn->query($sql);
        echo $result;
    ?></td></tr><br>

    <tr><td>Your Father Name</td><td>
        $sql = "SELECT fname FROM data";
        $result = $conn->query($sql);
        echo $result;
    ?></td></tr><br>

    <tr><td>Your CNIC Number</td><td>
        $sql = "SELECT cnic FROM data";
        $result = $conn->query($sql);
        echo $result;
    ?></td></tr><br>

    <tr><td>Your Postal Address</td><td>
        $sql = "SELECT address FROM data";
        $result = $conn->query($sql);
        echo $result;
    ?></td></tr><br>

    <tr><td>You are informed to approach Location XA-55 at 1800 Thursday with print of this 

Invitation card to paticipate in the function. </td></tr><br>
</table>



<?php

            mysql_close($conn);

         else 

        ?>
        <form method = "post" action = "<?php $_PHP_SELF ?>">
            Name: <input type="text" name="emp_name" id="emp_name"><br>
            Father Name: <input type="text" name="emp_fname" id="emp_fname"><br>

            CNIC: <input type="text" name="emp_cnic" id="emp_cnic"><br>

            Address: <input type="text" name="emp_address" id="emp_address"><br>

            <input type="submit" name="add" id="add" value="Submit">
<?php


?>

</body></html>

【问题讨论】:

【参考方案1】:

改变

$result = $conn->query($sql);

$result = mysql_query($sql);

欲了解更多信息click here

【讨论】:

【参考方案2】:

我认为你应该使用 mysql_query 而不是 $conn->query

【讨论】:

【参考方案3】:

我发现你的代码中有两个错误。

你应该使用

 mysql_query($sql,$conn);

而不是(之前提到的)

$result = $conn->query($sql);

您在 html 表格中遗漏了几个打开的 php 标记。

试试下面的代码,让我知道它是否有效。

        if(! $conn)
            die('Could not connect: ' . mysql_error());
        

        if(! get_magic_quotes_gpc())
            $emp_name = addslashes($_POST['emp_name']);
            $emp_fname = addslashes($_POST['emp_fname']);   
            $emp_cnic = addslashes($_POST['emp_cnic']); 
            $emp_address = addslashes($_POST['emp_address']);

         else 

            $emp_name = addslashes($_POST['emp_name']);
            $emp_fname = addslashes($_POST['emp_fname']);   
            $emp_cnic = addslashes($_POST['emp_cnic']); 
            $emp_address = addslashes($_POST['emp_address']);
        


        $sql = "INSERT INTO data ". "(CNIC, Name, FatherName, PostalAddress)   " . 

        "VALUES('$emp_cnic', '$emp_name', '$emp_fname', '$emp_address')";

        mysql_select_db('booking');
        $retval = mysql_query($sql, $conn);

        if(! $retval) die('Could not enter data: ' . mysql_error());


        ?>

<table border=2>
 ~~~~~~Your Invitation Card~~~~~
<tr><td>Your Name</td><td><?php
    $sql = "SELECT name FROM data";
    $result = mysql_query($sql,$conn);
    echo $result;
?></td></tr><br>

<tr><td>Your Father Name</td><td>
  <?php
    $sql = "SELECT fname FROM data";
    $result = mysql_query($sql,$conn);
    echo $result;
?></td></tr><br>

<tr><td>Your CNIC Number</td><td>
  <?php
    $sql = "SELECT cnic FROM data";
    $result = mysql_query($sql,$conn);
    echo $result;
?></td></tr><br>

<tr><td>Your Postal Address</td><td>
  <?php
    $sql = "SELECT address FROM data";
    $result = mysql_query($sql,$conn);
    echo $result;
?></td></tr><br>

<tr><td>You are informed to approach Location XA-55 at 1800 Thursday with print of this 

  Invitation card to paticipate in the function. </td></tr><br>
</table>



<?php

        mysql_close($conn);

     else 

    ?>
    <form method = "post" action = "<?php $_PHP_SELF ?>">
        Name: <input type="text" name="emp_name" id="emp_name"><br>
        Father Name: <input type="text" name="emp_fname" id="emp_fname"><br>

        CNIC: <input type="text" name="emp_cnic" id="emp_cnic"><br>

        Address: <input type="text" name="emp_address" id="emp_address"><br>

        <input type="submit" name="add" id="add" value="Submit">
        <?php
               

      ?>

    </body></html>

【讨论】:

以上是关于在此代码中从 mysql 数据库中获取数据问题的主要内容,如果未能解决你的问题,请参考以下文章

在 Activity 的“onCreate”方法中从在线 MySQL DB 获取数据

JAVA中从Mysql取数据到JTable

在java中从mysql获取表元数据

在 R 中从 MySQL 获取 UTF-8 文本返回“????”

在一个查询中从两个 mysql 表中选择数据

在 Visual Studio C# 中从 MS Access 数据库中获取 OLE(位图)对象,我的代码有啥问题?