我試圖用各自的信息填充各種html選擇。爲此,我覺得正確的方法是爲每個人查詢。我做這個PHP標籤的第一個查詢,以填補第一select
這樣的:在一個單一的PHP上做兩個查詢會拋出第二個不可捕獲
<?php
$sql = "call mydb.getPositions();";
$result = $conn->query($sql);
while($row = $result->fetch_row()){
echo "<option>".$row[0]."</option>";
}
?>
就是這樣。簡單。有用。功能getPositions()
是select
。但是,當我試圖與它自己的查詢來填充下選擇/組合框,它開始拋出這個錯誤:
Fatal error: Call to a member function fetch_row() on a non-object in file.php in line 200
我搜索了很多理由像在查詢中錯別字或獲取行錯誤從delete
查詢。 但是爲了放棄這些錯誤,我決定一個接一個地複製完全相同的php標籤。所以,如果第一個工作,爲什麼不第二個工作?所以我看到我收到了同樣的錯誤。我錯過了什麼?我試圖關閉$result
,但沒有成功。
在此先感謝。
編輯。 當我說「我決定後,其他完全相同的PHP代碼拷貝一個」我真正的意思是這樣的:
<?php
$sql = "call mydb.getPositions();";
$result = $conn->query($sql);
while($row = $result->fetch_row()){
echo "<option>".$row[0]."</option>";
}
?>
<?php
$sql = "call mydb.getPositions();";
$result = $conn->query($sql);
//It throws the error down here
while($row = $result->fetch_row()){
echo "<option>".$row[0]."</option>";
}
?>
而這將引發之前所描述的同樣的錯誤。
EDIT2。 的過程是這樣的:
CREATE DEFINER=`mainSoccer`@`%` PROCEDURE `getPositions`()
BEGIN
Select namePosition from mydb.Position;
END
對於遲到的回答我很抱歉。你的回答是有點解決方案。我仍然不知道如何執行MySQL函數,但是因爲我的項目有點小,我只是把函數體放在$ sql中(select * from ....),並且每次執行一次「function 「需要被調用。不管怎麼說,還是要謝謝你。 – MarAvFe