在PHP中,我很難從一個SQL查詢結果中提取行數據。我需要的服務信息存儲在一個名爲$ SelectedItems的數組中。下面的代碼按照它應該的方式工作,但打印包含所有行的整個表格。我將如何獲得它只是打印1行。PHP打印只爲SQL查詢結果選擇行
$sql ="select blah blah"
//Output result
$result = mysql_query($sql);
//Generate Information about Service or Product
while($row = mysql_fetch_array($result))
{
if (in_array($row['Service_Name'], $SelectedItems)){
print $row['Service_Description'];
print $row['Service_Cost'];
}
};
我非常新的PHP和可能要對這個錯誤的方式請讓我知道,如果我是在返回前笑。
的$ SelectedItems是從$ _ POST處理的數據以及所需的數據被設置到一個數組
//Finds Out which services have been selected
foreach (array_keys($_POST) as $key) {
$$key = $_POST[$key];
if ($$key == "1"){
print "$key is ${$key}<br />";
$SelectedItems[] = $key;
};
};
不錯,雖然我用mysql_real_escape字符串拋出array_map字符串 – 2010-09-07 13:02:42
我從OP的編輯中看到$ SelectedItems的值肯定來自用戶輸入;所以是的,他們也應該逃脫 – 2010-09-07 13:11:52
LOL這是史詩般的失敗。逃避與用戶輸入無關。但只能用引號括住值。 – 2010-09-07 13:13:40