where Employee.Code = " . $MSSQLconnCode)); <<<單一搜尋OK
我想問的是我想把$MSSQLconnCode和$MSSQLconnName加入where
把where那一行改成 where (e.Code = ('') or e.CnName = ('王小名'))
因為資料庫前後都需要加" ,如果最後沒加"就不能加變數
那我必須將下面PHP如何修改才能正常運作??
謝謝
where (e.Code = " . $MSSQLconn " or e.CnName = ". $MSSQLconn));
...資料庫應該是用單引號('),PHP用雙引號(")
兩個應該不衝突吧
sql="select * from list1 where e.Code = ( ' " . $MSSQLconn " ' ) or e.CnName = ( ' " . $MSSQLconn " ' ) ";
young122333提到:
where (e.Code = " . $MSSQLconnCode " or e.CnName = ". $MSSQLconnName));
$sql = "select ---- ".$stra." ----- ".$strb."-----";
如果你需要插入字串的話兩邊都要加點
young122333提到:
想詢問一下,如果把SQL切成兩段
PHP該如何在處理??謝謝
請使用 php 的 heredoc,這樣就想用單引號或雙引號都無妨,也可以隨意折行了。比如:
<pre class="c" name="code">$sql = <<< EoT
select 欄位1,
欄位2,
欄位3
from TABLE
where eCode = "$MSSQLconnCode"
or e.CnName = "$MSSQLconnName"
EoT;
小弟通常會寫成下面這樣,
將SQL字串放在雙引號裡面,
PHP變數用大括號框起來就行{}, (好處是好看,且陣列、物件也可使用)
SQL語法的部分全部用大寫,
跟資料表有關的欄位與資料表名稱用 `` 包起來 (MySql、MariaDB)。
<pre class="c" name="code">
$sql = "
SELECT *
FROM `table` AS `e`
WHERE (
`e`.`Code` = '{$MSSQLconnCode}'
OR `e`.`CnName` = '{$MSSQLconnName}'
);"
如果可以輸入部分姓名或工號查詢,
再改成LIKE。
<pre class="c" name="code">
$sql = "
SELECT *
FROM `table` AS `e`
WHERE (
`e`.`Code` LIKE '%{$MSSQLconnCode}%'
OR `e`.`CnName` LIKE '%{$MSSQLconnName}%'
);"