我创建了一个使用标记框下拉列表的Web应用程序.这适用于除Chrome浏览器(版本21.0.1180.89)以外的所有浏览器.
尽管input字段和form字段都具有该autocomplete="off"属性,但Chrome 仍然会显示该字段的先前条目的下拉历史记录,这会删除标记框列表.
我正在尝试编写一个MySQL搜索函数来构建动态sql值并通过预准备语句执行它.显然我想通过参数传递用户输入(搜索词)以确保安全性,但我无法弄清楚如何将一个参数与多个匹配?查询中的标记.可能最能表明我的意思:
CREATE DEFINER=`admin`@`localhost` PROCEDURE `WEBSITE_mainSearch`(
IN searchWordIn VARCHAR(128)
)
BEGIN
DECLARE articlesModule BIT;
SET @query = '';
SET @searchWordIn = searchWordIn;
SELECT articlesModuleEnabled INTO articlesModule FROM sys_options WHERE ID = 1;
SET @query = CONCAT(@query, 'SELECT blockName AS itemName, blockPath AS seoName, blockID AS itemID, MATCH(blockName, blockBody) AGAINST (?) AS relevance, \'block\' AS itemType FROM content_blocks WHERE MATCH(blockName, blockBody) AGAINST (?)') ;
IF articlesModule = 1 THEN
SET @query = CONCAT(@query, 'UNION SELECT articleName AS itemName, seoName, articleID AS itemID, …Run Code Online (Sandbox Code Playgroud) 我正在尝试访问SQL Server。
更新:作为对下面Clive的评论的回应,我也尝试过重新安装本机ODBC驱动程序,但没有更改。
我已经检查了所有可以找到的问题,一切似乎都井然有序。我的服务器详细信息:
PHP 5.4(通过Plesk管理)
SQL Server 2008 R2 SP2
Windows Server 2008 R2
用于PDO的最新mssql驱动程序位于EXT目录中,并在php.ini中进行了引用:
extension=php_sqlsrv_54_nts.dll
extension=php_pdo_sqlsrv_54_nts.dll
Run Code Online (Sandbox Code Playgroud)
PHPINFO() 给出以下内容:
PDO Drivers: mysql, sqlite, sqlsrv
pdo_sqlsrv support: enabled
sqlsrv support: enabled
Run Code Online (Sandbox Code Playgroud)
我的连接字符串如下所示:
$DSN = "sqlsrv:Server=myDbServer,1433;database=my-dbname";
$PdoOptions = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);
$sparklyGenericPdoObj = new PDO($DSN,'myUsername','myPasswurde', $PdoOptions);
Run Code Online (Sandbox Code Playgroud)
但这只是给我以下错误,该错误以回旋方式链接到我已经安装的驱动程序(我已经检查了版本号):
PHP致命错误:消息为'SQLSTATE [IMSSP]的未捕获异常'PDOException':此扩展要求Microsoft SQL Server 2012本机客户端ODBC驱动程序与SQL Server通信。访问以下URL,以下载适用于x86的Microsoft SQL Server 2012 Native Client ODBC驱动程序:http : //go.microsoft.com/fwlink/?LinkId=163712 '
在此线程上(报告与我完全相同的错误),是一个解决方案,它表示您可以通过在PHPINFO中查找我上面提到的项目来确认驱动程序已安装:未连接到Sql Server 2012!
任何帮助将非常感激!