我有一个html表单,其中包含一个帐号和一个名为retrieve的提交值。单击此检索按钮时,我需要根据客户的帐号打印出某些属性。我在我的代码中试过这个。由于某种原因,它进入函数但不打印行的任何值。我很困惑,不知道从哪里开始解决这个问题。我在mysqlworkbench中有虚拟数据。我已经为其他页面使用了相同的数据库连接,当我将表单发布回数据库时,它工作正常。所以我不确定究竟是什么问题。
我不确定数据库是否在结果中调用查询时丢失了连接?它打印出结果的查询,但是当我在查询后尝试执行var_dump时它说的是NULL。那么有些事可能有问题吗?
我在函数中创建变量$ result时添加了错误检查,每次添加帐号时,都会输出无法输入数据而不是mysql错误。
我的代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Create Account</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="header">Our Really Cool Banking App</div>
<div id="leftcolumn">
<!-- Creating Buttons here -->
<div id="nav">
<ul>
<li><a href="banking.php">Home</a></li>
<li><a href="checking.php">Checking</a></li>
<li><a href="savings.php">Savings</a></li>
<li><a href="createaccount.php">Create Account</a></li>
<li><a href="createloan.php">Create Loan</a></li>
</ul>
</div>
</div>
<h2>Checking Account Information Details</h2>
<div class="inputBox">
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Account Number: <input type="text" name="accountNum"><br>
<input type="submit" id="Retrieve" name="Retrieve" value="Retrieve">
</form>
</div>
<?php
//error_reporting(E_ALL);
//ini_set('display_errors', 1);
$properties = parse_ini_file("properties.ini");
if ( !( $database = mysql_connect( $properties["dbUrl"], $properties["username"], $properties["password"] ) ) )
{
echo "<p> Be sure to fill out information in the properties.ini file </p>";
die( "Could not connect to database </body></html>" );
}
echo $_POST['Retrieve'] . "is the value";
if ( !mysql_select_db( $properties["dbName"], $database ) )
die( "Could not open the database </body></html>" );
if (isset($_POST['Retrieve']))
{
accountInfo();
}
function accountInfo() {
$currentAccountNum = $_POST[accountNum];
$data = "SELECT * FROM Account WHERE AcctNum = '$currentAccountNum'";
$result=mysqli_query($database, $data);
if(! $result )
{
die('Could not enter data: ' . mysql_error());
}
while($row = mysqli_fetch_array($result)) {
echo $row['AcctNum'];
echo "<br>";
echo $row['MemberId'];
echo "<br>";
echo $row['creationDate'];
echo "<br>";
echo $row['CreatedByEmployee'];
echo "<br>";
echo $row['type'];
echo "<br>";
}
}
mysql_close( $database );
?>
</body>
</html>
答案 0 :(得分:2)
当您正在寻找mysqli_fetch_array()
时,您正在使用mysqli_fetch_assoc()
。
答案 1 :(得分:0)
您的SQL语句中有引号。 尝试:
$data = "SELECT * FROM Account WHERE AcctNum = " . $currentAccountNum;