我有一個查詢,填充$row["app_id"]
和當我通過div id="reveal"
app_id
更改。我想要做的是在$ revealstmt查詢中插入app_id。我不斷收到錯誤。無效的參數編號:綁定變量的數量不匹配令牌的數量'
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid
parameter number: number of bound variables does not match number of tokens
我的代碼如下
<?php
$revealid = $row["app_id"];
while (isset($revealid)){
$query3 = "";
$revealstmt = $conn->prepare("SELECT logs.time_entry AS logs_entry, logs.description AS logs_description, substates.name AS reveal_substates_name FROM logs LEFT OUTER JOIN applications ON logs.fk_app_id = applications.pk_app_id LEFT OUTER JOIN substates ON logs.fk_substate_id = substates.pk_substate_id WHERE logs.fk_app_id = <?php echo $revealid ?> and time_entry >= curdate() - INTERVAL DAYOFWEEK(curdate()) + 14 DAY ORDER BY time_entry DESC;");
$revealstmt->execute(array('query3' => $query3));
?>
<div id="<?php echo $row["app_name"];?>" class='reveal-modal'>
<div id="reveal">
<h1><?php echo $row["app_name"]; echo $revealid; ?>
<br />
</h1>
<div class="accordion">
<?php while ($revealrow = $revealstmt->fetch()){?>
<h3><a href=""><?php echo $revealrow["logs_entry"]?> -|- <?
php echo $revealrow["reveal_substates_name"]; ?></a></h3>
<div><?php echo $revealrow["logs_description"]; ?></div>
<?php } ?> <!-- Close Tag for $revealrow -->
<?php } ?> <!-- Close tag for the while(isset) -->
我一直在使用的foreach嘗試,但不能作爲$row["app_id"]
不是一個數組它每次只返回1號。
希望我已經提供了所有需要的信息,如果不是,當然會添加我需要的任何信息。再次感謝社區爲您提供的所有幫助!
哪裏'query3'出現在你的SQL查詢中?另外,我認爲你的佔位符需要以':'開頭。 –
這是什麼'<?php echo $ revealid?>'在查詢內執行操作?你已經在PHP,你不能這樣做。改爲使用連接。 –
我很可能是錯的,因爲我明顯在學習。我以爲query3是從SQL查詢返回的數組。另外我會檢查連接。我沒有意識到你可以在SQL Query中做到這一點,我認爲你必須回到PHP。 – ZeroAccess