[英]PHP: Where clause will not execute when using a variable
對於我正在測試的用戶,他們的 org_id 列值為“student_life”
我試圖讓這個函數顯示任何具有 student_life 列 = 1 的行。(所以是的,有一列 student_life 是一個布爾值,然后我還有一個名為 org_id 的單獨列,在這種情況下具有值 student_life)
我很確定存在語法錯誤,但我無法弄清楚。
function org_id_users_table()
{
$org_id = mysql_real_escape_string($_POST["org_id"]);
$sql = $this->query("SELECT * FROM ".DBTBLE." WHERE '$org_id' = '1'");
$result = $sql['sql'];
$num_rows = $sql['num_rows'];
$this->create_table($result, $num_rows);
}
(當我用 student_life 替換“$sql=...”行中的 $org_id 時,代碼有效。
您引用了列名,這使 MySQL 認為它是一個字符串。
$sql = $this->query("SELECT * FROM ".DBTBLE." WHERE $org_id = '1'");
編輯:
根據您的評論,我認為您真正想要的是:
$sql = $this->query("SELECT * FROM ".DBTBLE." WHERE org_id = '$org_id'");
更改報價。
$sql = $this->query("SELECT * FROM ".DBTBLE." WHERE `$org_id` = '1'");
這是從哪里來的? $_POST["org_id"]
你在頁面上有張貼的表格嗎? 或者你只是想從數據庫中獲取它? 如果是這樣,您是否不需要另一個查詢來首先獲得它?
$row_MyFirstQuery['org_id']
否則如果是$_POST["org_id"],豈不是單引號不是雙引號? $_POST['org_id']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.