我有一個名爲index.html的頁面,它從用戶接收一些變量,當用戶提交它們時,它會轉到下一頁(result.php)結果。 php發佈index.html表單中的變量。結果.php連接到數據庫運行一個查詢等所有這些工作正常。在results.php看起來是這樣的:mysql_fetch_array()向自我提交表單時出錯
<?php
$h = "localhost";
$u = "root";
$p = "******";
$d = "********";
//connectipn to mysql
$conn = mysql_connect($h, $u, $p);
//connection to database
mysql_select_db($d);
$code = $_POST['code'];
$usage = $_POST['usage'];
$days = $_POST['days'];
$value = $_POST['value];
$sql_runners_up = "SELECT code
from some_table
where number = $value;"
$plans['p_h10'] = array();
$rs2 = mysql_query($sql_runners_up, $conn);
while ($row = mysql_fetch_array($rs2))
{
$plans['p_h10'][] = $row["p_h10"];
}
?>
的results.php也有一個表格,用戶可以更新在查詢中使用的一些領域。我目前有看起來像這樣的形式...
<form action="results.php" name="filter" method="post">
usage:<input name="" type="search" value="" /><br/>
days:<input name="" type="search" value="" /><br/>
<input name="" type="checkbox" value="" />value<br />
<input type="submit" value="submit" name="submit" />
</form>
即使只要用戶提交我得到一個錯誤(我已經嘗試填寫表單使用真正的變量,但仍然得到了形式的空白同樣的錯誤)
警告:mysql_fetch_array():提供的參數不是一個有效的MySQL 結果資源
錯誤指圍繞while語句行。我的猜測是,在表單提交後或者整個results.php表單沒有被服務器提交/處理後,某些變量不會被傳遞。但說實話我真的不確定。任何幫助將不勝感激。
您的代碼易受攻擊。查看一些關於SQLi的文章 – genesis 2011-12-29 10:38:37