我有一個功能低於它完美的作品,但現在客戶端回來,並要求數字只被採取做搜索,因爲他的大部分客戶不會輸入後綴「h」或任何它可能是每次我下面的例子:如何在用戶輸入後綴時用數字查詢mysql?
38039或38039h
不過他也表示,他只有一個組的產品代碼與「T」開頭所以他們可以鍵入「T760」在這種情況下,我們需要的字首。
我在下面的代碼搜索目前確切的產品,任何人都可以幫助我在這些例子中工作?
<?php
//Find Stock Value
function checkstock($prodCode) {
$prodCode = strtoupper($prodCode);
require '../../../../config.php';
$dbh = new PDO(DB_DSN, DB_USER, DB_PASS);
$sql = "SELECT * FROM isproducts WHERE prodCode = '".
$prodCode."' AND AllowSalesOrder = '1'";
$stmt = $dbh->query($sql);
$obj = $stmt->fetch(PDO::FETCH_OBJ);
$count = $stmt->rowCount();
echo ($count == 1 ?
ROUND($obj->FreeStockQuantity, 0) : 'Invalid product code '.$prodCode.'');
}
//Call Stock Function
checkstock($_POST['productcode']);
?>
爲什麼不使用LIKE'%「。$ prodCode。」%'?這以一種更簡單的方式處理所有上述問題。 – mspir 2010-12-04 11:14:38
@Spiros - 你必須迎合性能問題,%anything%將**不**使用索引進行搜索 – ajreal 2010-12-04 11:15:51
這使我的腳本死亡了:( – Andy 2010-12-04 11:19:48