[英]having problems to execute a PHP code with simple mySQL query
我正在嘗試使用WHERE子句執行查詢,但看來我檢索到的ID可能需要從數組轉換為其他內容。 我是PHP的新手,所以我有點掙扎:
...some previous query here
$sharepoint_id = $data[0];
//returns Array([ID] => a5f415a7-3d4f-11e5-b52f-b82a72d52c35)
qry = mysql_query("SELECT HostName FROM MSSWireList WHERE id=".$sharepoint_id);
$data = array();
while($rows = mysql_fetch_array($qry))
{
$data[] = array(
"ID" => $rows['ID'],
"Record" => $rows['Record'],
"HostName" => $rows['HostName']
);
}
return json_encode($data);
還嘗試了$ sharepoint_id = $ data [0]-> ID; 謝謝
“返回數組([ID] => a5f415a7-3d4f-11e5-b52f-b82a72d52c35)”
那是一個字符串,而不是整數。 您的WHERE
子句中的變量需要加引號。
WHERE id='".$sharepoint_id."' ");
檢查錯誤將表明語法錯誤。
添加or die(mysql_error())
到mysql_query()
。
您當前的代碼可以進行SQL注入 。 將mysqli_*
與預處理語句一起使用 ,或將PDO與預處理語句一起使用 。
編輯:
您僅從查詢中選擇了HostName
列,而沒有選擇其他兩個ID
和Record
。
但是,在循環中,行名區分大小寫。
因此,如果您的行的大小寫是id
而不是ID
,那么這在循環中就很重要。
$rows['ID']
和$rows['id']
是兩種不同的動物。 邊注:
從我已經問過的評論中拉出來:
qry = mysql_query
如果您的真實代碼,則缺少qry
的$
。
如果是這樣,錯誤報告將向您拋出未定義的恆定qry通知。
我不會帶您去使用舊的mysql驅動程序來代替mysqli或PDO,或者不使用准備好的語句-我將把它留給其他人去做-但是
"...WHERE id = '" . $sharepoint_id['ID'] . "'"
應該做的工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.