2011-06-21 95 views
1

我試圖做一些類似的DB2語句結合...需要例如像在PHP

$sql = "SELECT * FROM foo WHERE user = ? AND order LIKE ?%" 
$stmt = db2_prepare($conn, $sql); 

db2_bind_param($stmt, 1, "userName", DB2_PARAM_IN); 
db2_bind_param($stmt, 2, "orderNum", DB2_PARAM_IN); 

db2_execute($stmt); 

當然,它不是做什麼樣的?%的正確途徑。我只是尋找正確的方式來綁定一個參數,但也使用%通配符。

回答

2

只需將參數與通配符一起粘貼到字符串中即可。你要像做(see example #12)

$sql = "SELECT * FROM foo WHERE user = ? AND order LIKE ?" 

$orderNum = '%' . $your_order_num . '%'; 
db2_bind_param($stmt, 2, "orderNum", DB2_PARAM_IN); 
+0

給了我兩個錯誤,當我嘗試這樣,就行了「價值未綁定」和「綁定錯誤3」 db2_execute($ stmt) – Bead

+0

我的壞,我沒有意識到第三個參數實際上是你綁定的值的變量名(我從來沒有真正使用過DB2的PHP)我已經更新了答案到我認爲應該工作的地方,基本上,通配符應該在參數綁定的內部,數據庫引擎應該將綁定值批量粘貼到參數中的查詢中ameter標記。 – bhamby

+0

是的,改變工作!謝謝。 :) – Bead