我想從PHP獲取mysql數據庫的結果。綁定參數到mysql查詢
我使用的查詢像這樣的:
SELECT *
FROM images
WHERE images.name LIKE ? OR images.title LIKE ?
而且這是我的參數綁定到查詢:
$f_for = "%". $filter_for ."%";
$stmt->bind_param('ss', $f_for, $f_for);
如果我更換questionmarks ?
用組成搜索字符串,因此查詢如下所示:
SELECT *
FROM images
WHERE images.name LIKE '%searchForThis%' OR images.title LIKE '%searchForThis%'
並直接執行它(不是PHP,但phpMyAdmin或直接通過終端),我得到一個正確的/積極的結果(即我得到的行,搜索字符串匹配的兩列之一的值)。
使用參數化查詢我沒有得到任何錯誤,但只是一個空的結果(即零行)。我嘗試了不同的字符串格式,但它們似乎都不起作用。
$f_for = "'%". $filter_for ."%'";
$f_for = "%{$filter_for}%";
如何正確綁定參數?我是否完全錯誤或可能是另一個問題?
您是否檢查過文檔? http://php.net/manual/en/mysqli-stmt.bind-param.php – hdost
我做了,但我找不到任何可能的錯誤... – user5888833
由於'bind_param'通過引用綁定參數,它*可能*如果你使用'pdo',你可以嘗試使用'bind_value()',或者簡單地創建兩個保存相同值的變量,例如: '$ f_for1'和'$ f_for2' – CD001