在此代码中从 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 获取数据