我有一个脚本,我打算自动复制数据库表。我已经被告知复制,但我不知道如何让它正常工作,所以我决定使用这种方法。
为了尽量减少安全风险,我们的实时站点将请求其他站点定期使用的数据库表。请求脚本,我称之为request.php,如下所示。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
//Idea is to use this to get response to provide table data
//What goes here?
</script>
</head>
<body>
<?php
//Define database handler
$dbWriter = new mysqli(database connection info);
if($mysqli->connect_errno){
$errorMessage = sprintf("'%s'", $mysqli->connect_error);
echo $errorMessage;
}
else{
$dbWriter->query("DELETE * FROM qb_inventory_status");
//Processing of data goes here
foreach($returnedItems as $item){
//Create query to insert individual records
$start = "INSERT INTO table(fieldA, fieldB...) VALUES (";
$end = sprintf("'%s', %d, %d, %f, %f)", fieldA, fieldB...);
$start .= $end;
//Database handler uses $start to insert record
$dbWriter->query($start);
}
$dbWriter->close();
}
?>
</body>
</html>
响应脚本(response.php)如下所示。
<?php
require_once($documentRoot."/classes/DBHandler.php");
$db_controller = new DBHandler();
$query = "SELECT * FROM table";
$result = $db_controller->select($query);
//This array is what should be returned so request.php can handle it
while($rowObject=mysql_fetch_object($rs)){
$rtnItems[]=$rowObject;
}
//Return $rtnItems here
?>
我知道如何从数据库中检索信息,并将其设置为适合在同一文件中处理的格式,但当遇到这种情况时,我不知道如何将其传递回request.php。我该如何做到这一点?我需要能够将返回的数组写入数据库。我以前从未用Javascript完成过后一个过程,所以我也想知道是否可以用request.PHP的PHP部分访问返回的数据库。
您可以使用类似的东西来完成ajax的基本功能
调用
$.ajax({url: "response.php", success: function(result){
$("#div1").html(result);
}});
始终检查jquery上的引用http://api.jquery.com/jquery.ajax/
在这种情况下,结果是你想在前端"粘贴"的信息。
使用数据处理程序作为响应(检索信息),除非直接从前端查询,否则不需要它。