我有一个问题是我在php / mysql中做的一个项目。 我正在设计一个网站,用户可以在其中记录他们的财务账户(银行账户/信用卡等)以及他们每月进行的交易及其类型。 我想要的是用户选择一个特定的帐户并使用GET我可以获取帐户ID,并使用它来获取与该帐户名相关的所有交易。 这是我的代码:
//connect to database
include ('connect-To-db.php');
//Ensure the id is appropriate
if (is_numeric($_GET['id']) && $_GET['id'] > 0)
{
// get 'id' using GET superglobal variable
$id = $_GET['id'];
// get the credits, debits & catagory from the transactions table for that account
if ($stmt = $mysqli->prepare("SELECT `Credit`,`Debit`,`Catagory` FROM `transactions` WHERE `Accname` IN
(SELECT `Accname` FROM `Accounts` WHERE `accID`=?")) {
$stmt->bind_param("i", $id);
$stmt->execute();
$stmt->bind_result($id,$Credit, $Debit, $Cat);
//Loop through the results and display in a table format
echo"<table>";
echo "<th>Credits></th><th>Debits</th><th>Catagory</th>";
while($row = $stmt->fetch()){
echo "<tr>";
echo "<td>.$Credit.</td>";
echo "<td>.$Debit.</td>";
echo "<td>.$Cat.</td>";
echo "</tr>";
}
echo "</table>";
$stmt->close();
}
// show an error if there is a problem connecting to the table
else {
echo "Error: could not prepare SQL statement".$mysqli->error;
}
}
在尝试运行时,我得到错误,我在第2行附近有语法错误,但我在第2行没有“符号”。 我做错了什么?
答案 0 :(得分:0)
变化:
$mysqli->prepare("... WHERE `accID`=?"))
为:
$mysqli->prepare("... WHERE `accID`=?)"))
// ^
您缺少子查询的右括号。