我正在尝试从oracle数据库onkeyup函数获取数据。这是我的HTML代码。
<form name="filter_name"action="jqry.php" method="post">
<input class="name" name="name" type="text" id="name">
<input name="submit" type="submit" value="submit" />
</form>
这是我的jquery代码:
$(function(){
$("#name").keyup(function() {
var name = $(this).val();
var dataString = 'name='+ name;
if(name!='') {
$.ajax({
type: "POST",
url: "connectdb.php",
data: dataString,
cache: false,
success: function(html) {
alert(html);
}
});
}
return false;
});
});
最初我在connectdb.php
<?php
$text = $_POST['name'];
// I have given db connections here
$query="SELECT EMP_NAME FROM EMPLOYEES";
$stid = oci_parse($conn, $query);
oci_execute($stid, OCI_DEFAULT);
echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : " ") . "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
oci_free_statement($stid);
oci_close($conn);
?>
为此我在警报中正确地获取输出
<table border="1">
<tr>
<td>ABC</td>
</tr>
<tr>
<td>XYZ</td>
</tr>
<tr>
<td>PQR</td>
</tr>
</table>
但是当我尝试将名称与POST变量匹配,即$text
,我使用LIKE
运算符从onkeyup获得时,虽然它们是与变量匹配的名称,但我得到空输出。我使用以下查询时无法理解查询失败的原因。
$query = "SELECT EMP_NAME FROM EMPLOYEES WHERE NAME LIKE '%".$text."%'";
例如,当我在a
的输入框中输入id="name"
时,我收到警报的输出如下所示。那是我得到零结果。
<table border="1">
</table>
这里参考我的数据库表结构:
| EMP ID | EMP_NAME |
| 1 | ABC |
| 2 | XYZ |
| 3 | PQR |
当我使用LIKE运算符时,请任何人帮助我,为什么我得到空结果