通过HTML按钮显示SQL查询
我很抱歉如果这是多余的,我搜索了相关的主题,但是在任何一个主题中都找不到答案。我正在寻找对我创建的数据库运行SQL查询并在HTML按钮单击上显示结果。我已经开始了一个简单的场景,我只是从我的“客户”表中选择所有实体。我创建了下面的PHP代码来实现:通过HTML按钮显示SQL查询
<?php
define('DB_NAME', 'mis630db');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
$link = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}
$resultset = mysql_query("SELECT * FROM Customer");
if($resultset->num_rows !=0) {
while($rows = $resultset->fetch_assoc())
{
$idCustomer = $rows['idCustomer'];
$CustomerFName = $rows['CustomerFName'];
$CustomerLName = $rows['CustomerLName'];
$CustomerAddress = $rows['CustomerAddress'];
$CustomerPhone = $rows['CustomerPhone'];
$CustomerEmail = $rows['CustomerEmail'];
echo"<p> Customer ID: $idCustomer<br />Customer Name: $CustomerFName $CustomerLName<br />Customer Address: $CustomerAddress<br />Customer Phone: $CustomerPhone<br />Customer Email: $CustomerEmail</p>";
}
}
else{
echo "No results.";
}
?>
当我测试,我收到此错误:
“ 注意:试图让非对象的属性在C:\ XAMPP \ htdocs中\ report.php 20行 没有结果。“
我不知道为什么它应该返回多个结果。一旦整理出来我想这个连接到HTML按钮显示的结果,在那里我将有我创建了运行各种SQL查询几个按钮:
<html>
<head>
<title> Reports</title>
</head>
<body>
<div class="header">
<h1>Reports</h1>
</div>
<form action="report.php" method="post" />
<table>
<tr>
<td><input type="submit" value="Customers" /><td>
</tr>
</form>
</body>
</html>
任何有识之士将不胜感激。
谢谢。
看起来像SQL查询SELECT * FROM Customer
失败,因此$resultset
不是一个对象 - 它可能是null
。
SQL表,列等区分大小写。您确定您的餐桌名称为Customer
,而不是customer
?
请注意,扩展名mysql
自PHP 5.5开始已被弃用,并已在PHP 7中删除。您应该使用mysqli或PDO-MySQL来代替。
我不知道它们区分大小写,而表格实际上是小写字母“customer”,所以我修正了这个问题。谢谢!这表示它似乎没有解决我的问题。 – NinePoundHammer
改变这一行:
if($resultset->num_rows !=0) {
到
if (mysql_num_rows($resultset) != 0) {
因为我不认为你可以访问一个从MySQL结果对象调用num_rows
直接方法。
而改变这一行:
while($rows = $resultset->fetch_assoc())
到
while($rows = mysql_fetch_assoc($resultset))
因为我不认为你可以访问一个从MySQL结果对象调用fetch_assoc
直接方法。
并且结束了另一件事。 Mysql_
函数已弃用我建议您开始使用mysqli_
函数。 http://php.net/manual/en/book.mysqli.php
感谢您的反馈,我实际上一直在使用mysqli_函数,但在教程后改变了这些,并且从未调整过它们。我一定会继续向前发展。我更新了引用的代码,它看起来像是让我朝着正确的方向发展。我现在得到这个错误“ 警告:mysqli_query()需要至少2个参数,第1行给出的C:\ xampp \ htdocs \ report.php 警告:mysql_num_rows()期望参数1是资源, null在第20行的C:\ xampp \ htdocs \ report.php中给出了 没有结果。“我很困惑,因为表格有20个单独的条目和5个字段。 – NinePoundHammer
嗨,好吧,如果你已经切换到mysqli_函数,那么你必须阅读文档。因为mysqli_query期望第一个参数是mysqli链接。所以你必须输入mysqli_query($ link,“SELECT * FROM Customer”);但是你必须确保你没有任何mysql_函数,只有mysqli_ –
'var_dump($ resultset);'给你什么?此外,如果刚开始你应该使用PDO或mysqli。 – chris85
不要忘记选择哪个答案是正确的(如果其中一个答案是正确的),以帮助其他有类似问题的用户。如果没有答案是正确的,请告诉我们你是如何解决它的。 –