PHP和AJAX数据库连接
我的问题是,每当我运行index.html文件时,ajax的结果太快,页面会重新加载。因此,最后在DIV元素中没有显示输出 Html页面(index.Html) 这是PHP部分(getemployee.PHP) 因此,每当我运行index.html并在输入中插入1并按submit时。 没有结果显示。几次尝试后,我注意到桌子出现了,但消失得太快了。 请告诉我应该在ajax代码中设置计时器,还是我的代码中有任何问题PHP和AJAX数据库连接,php,ajax,Php,Ajax,我的问题是,每当我运行index.html文件时,ajax的结果太快,页面会重新加载。因此,最后在DIV元素中没有显示输出 Html页面(index.Html) 这是PHP部分(getemployee.PHP) 因此,每当我运行index.html并在输入中插入1并按submit时。 没有结果显示。几次尝试后,我注意到桌子出现了,但消失得太快了。 请告诉我应该在ajax代码中设置计时器,还是我的代码中有任何问题 谢谢。您需要执行一个返回false在您的表单上提交。现在,它正在执行ajax,但也会
谢谢。您需要执行一个
返回false代码>在您的表单上提交。现在,它正在执行ajax,但也会发布表单/重新加载页面。您需要阻止表单执行其正常操作。不要将用户输入直接传递给您的查询。SQL注入就是这样发生的。使用准备好的语句并将驱动程序更新为mysqli\ucode>或PDO
。
<!DOCTYPE HTML>
<HEAD>
<script src="ajax.js"></script>
</HEAD>
<BODY>
<FORM onSubmit='sendEmpID(this.roll)' action='index.html'>
<input id='roll' type='text'>
<button type="submit">Submit</button>
</FORM>
<P>
<DIV id="emp"><B>Employee info will be listed here.</B></DIV>
</P>
</BODY>
</HTML>
var xmlHttp;
function sendEmpID(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return;
}
var url="getemployee.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null); }
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("emp").innerHTML=xmlHttp.responseText;
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
xmlHttp=new XMLHttpRequest();
return xmlHttp;
}
<html>
<head>
<?php
$q=$_GET["q"];
$con = mysql_connect('localhost', 'root');
if (!$con)
{
die('Not able to connect: ' . mysql_error());
}
mysql_select_db("emp", $con);
$query="SELECT * FROM ajax_example WHERE ID = '".$q."'";
$result = mysql_query($query);
echo "<table border='1'>
<tr>
<th>Name</th>
<th>Age</th>
<th>Gender</th>
<th>WPM</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['age'] . "</td>";
echo "<td>" . $row['sex'] . "</td>";
echo "<td>" . $row['wpm'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
</head>
</html>
ID name age sex wpm
1 Frank 45 male 87
2 Jerry 23 male 20
3 Jill 22 female 72
4 Julie 35 female 90
5 Regis 75 male 44
6 Tracy 27 female 0