Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php sql odbc_execute(),与LIKE不起作用_Php_Sql Server_Odbc_Prepared Statement - Fatal编程技术网

php sql odbc_execute(),与LIKE不起作用

php sql odbc_execute(),与LIKE不起作用,php,sql-server,odbc,prepared-statement,Php,Sql Server,Odbc,Prepared Statement,我有一段代码没有返回任何内容(echo没有返回任何内容,应该返回两行): 你看到这个代码有什么错误吗 请提前让我知道并感谢 更新------ 我对下面答案中建议的代码进行了更改,现在出现了一个新错误: Warning: odbc_execute(): Can't open file %mich% 其中mich是在数据库中搜索时输入的文本。我发现以下内容可能与此相关: 我认为双引号可能会引起问题。我不确定为什么要为数组中的单个项准备语句。为什么不只执行一个SELECT查询,如:$SELECT=“

我有一段代码没有返回任何内容(echo没有返回任何内容,应该返回两行):

你看到这个代码有什么错误吗

请提前让我知道并感谢

更新------

我对下面答案中建议的代码进行了更改,现在出现了一个新错误:

Warning: odbc_execute(): Can't open file %mich%

其中mich是在数据库中搜索时输入的文本。

我发现以下内容可能与此相关:


我认为双引号可能会引起问题。

我不确定为什么要为数组中的单个项准备语句。为什么不只执行一个SELECT查询,如:
$SELECT=“从CLIX1中选择CLIENTE,NOMCLI,其中NOMCLI类似“{$\u POST['CLIENTE']}%”按NOMCLI排序”为了防止sql注入,我不应该总是做准备好的语句吗?我应该什么时候做准备语句,什么时候不做?还有其他方法可以防止SQL注入。MySQL示例:
$select=sprintf(“从CLIX1中选择CLIENTE、NOMCLI,其中NOMCLI类似于“%%s%%”按NOMCLI排序)、MySQL\u real\u escape\u字符串($\u POST['CLIENTE'],$con))也许你也可以帮我找到一种SQL server的方法。我还想知道为什么我的代码不起作用,如果我想使用prepared语句如果您启用了MySQL日志[linl],您应该能够看到您的查询是否按照预期执行。我从那里开始,谢谢。我会检查一点,我肯定会让你知道,如果它工作相当肯定,我说双引号是上述评论的问题。不过这很酷,你可以为此获得荣誉:)@Namrehs你绝对做到了。如果您对此有强烈的感觉,请发布答案,让OP给您应得的分数。如果这是一个问题,我现在将检查它,如果它是正确的,我将同时给这两个分数。它现在给我以下错误:警告:odbc_execute():无法打开文件%mich%
$rs = odbc_execute($stmt, array("%mich%"));
Warning: odbc_execute(): Can't open file %mich%
$prep_array = array();
$prep_array[] = "'%$cliente%'";
$rs = odbc_execute($stmt, $prep_array);