我正在尝试执行以下PHP代码,但即使在命令行中执行时存在匹配的行,也会返回0行:
$sql = "SELECT TOP 1 * FROM [Coupons] WHERE [code] LIKE '%?%' AND [platform] LIKE '%?%'";
$stmt = odbc_prepare($link, $sql);
odbc_execute($stmt, array($coupon,$platform));
如何在查询中正确格式化LIKE?
我试过
$sql = "SELECT TOP 1 * FROM [Coupons] WHERE [code] LIKE ? AND [platform] LIKE ?"
但这也不起作用。
有什么建议吗?
答案 0 :(得分:1)
查看此帖:
C# constructing parameter query SQL - LIKE %
您需要传入整个字符串'%value%'
作为参数,以便在您的情况下
$sql = "SELECT TOP 1 * FROM [Coupons] WHERE [code] LIKE ? AND [platform] LIKE ?";
$stmt = odbc_prepare($link, $sql);
odbc_execute($stmt,array("%{$coupon}%","%{$platform}%"));