php同步数据
❶ php多条数据如何一起提交
参考如下
多个提交和一个提交的道理是相同的,只是一些细节上要注意。
提交一个,表单是:
<form>
<input type=text name=name>
<input type=text name=sex>
<input type=text name=age>
<input type=text name=address>
</form>
PHP存数据库的语句是:
$sql="insert into tab(...) values ($_POST[...])";//省略字段和值
那么多个提交的方法一,表单是:
<form>
<input type=text name=name1><input type=text name=sex1><input type=text name=age1><input type=text name=address1>
<input type=text name=name2><input type=text name=sex2><input type=text name=age2><input type=text name=address2>
</form>
PHP存数据库语句是:
$sql="insert into tab(...) values ($_POST[...1])";//省略字段和值
mysql_query($sql);
$sql="insert into tab(...) values ($_POST[...2])";//省略字段和值
mysql_query($sql);
上面方法一写的例子是两条,多条的方法相同,技巧就是输出表单使用JS的循环,存盘的PHP代码也可以循环,并且能够判断为空的就不提交,比如表单20条,只填了5条,就只存5条到数据库。
方法二是使用数组,表单:
<form>
<input type=text name=name><input type=text name=sex><input type=text name=age><input type=text name=address>
<input type=text name=name><input type=text name=sex><input type=text name=age><input type=text name=address>
<input type=text name=name><input type=text name=sex><input type=text name=age><input type=text name=address>
</form>
PHP代码是:
for ($i=0;$i<count($_POST["name"]);$i++)
if ($_POST["name"][$i]!='')
{
$sql="insert into tab(...) values ($_POST[...][$i])";//省略字段和值
mysql_query($sql);
}
这样表单可以写任意多行,PHP里面是数组,能够自动获取有多少数据。
❷ php怎么连接数据库
在PHP中连接数据库,一般使用PDO或者MySQLi扩展库来实现。
使用PDO连接数据库时,你需要先创建一个新的PDO实例,提供数据库的连接信息,如DSN、用户名和密码。例如:$pdo = new PDO;。之后,你就可以使用这个$pdo对象来执行SQL查询和其他数据库操作了。
而使用MySQLi连接数据库,你需要创建一个mysqli对象,并传入数据库的连接信息。例如:$mysqli = new mysqli;。连接成功后,你也可以通过这个$mysqli对象来进行数据库操作。
这两种方式都能有效地连接和操作数据库,选择哪一种主要取决于你的具体需求和编程习惯。不过,一般来说,PDO的跨数据库兼容性更好,而MySQLi则提供了更多的MySQL特定功能。
请注意,为了安全起见,不要在代码中硬编码数据库的用户名和密码。最好是从配置文件或环境变量中读取这些信息。同时,确保你的代码能够妥善处理数据库连接失败的情况。
❸ php如何实现两台服务器数据库同步问题 - 技术问答
基于数据库 Log 日志分析可以实现,网上搜一下 CDC 数据同步。。
不过你也可以尝试下 cloud.tapdata.net , 一个在线的数据同步工具,支持一次性全量同步,也支持实时的增量同步。
❹ 请问php怎样抓取其它网站的动态数据,显示在自己的网页内并同步更新。
刚吃完午饭吧,来帮你实现一下吧。记得加分哦。
$url = "http://www.boc.cn/sourcedb/whpj/";
$queryServer = curl_init();
curl_setopt($queryServer, CURLOPT_URL, $url);
curl_setopt($queryServer, CURLOPT_HEADER, 0);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, true);
curl_setopt($queryServer, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($queryServer, CURLOPT_TIMEOUT, 30);
$html = curl_exec($queryServer);
$html = iconv('UTF-8','GBK//IGNORE',$html); //如果你需要是的数据是utf-8编码的,这一行可以注销,如果需要gbk编码的,请保留.如果出现乱码,就是一行的问题,你自己调着试吧
//echo $holder;exit; 此处可以输出来测试.
$html = str_replace(array("\n","\r","\t"),"",$html);
$preg = '/<table\s+width=\"800\"[^>]+>(.*?)<\/table>/';
preg_match_all($preg,$html,$out);
//匹配每行
preg_match_all('/<tr[^>]+>(.*?)<\/tr>/',$out[1][0],$tr);
//匹配每个td
$result = array();
$match = '/<td.+>([^<]+)<\/td>/U';
foreach( $tr[0] as $key => $value ){
preg_match_all($match,$value,$arr);
$result[] = $arr[1];
}
//输出测试,$result就是你要的数据,至于你要怎么输出显示格式,那就随心调就好了。
foreach( $result as $key => $value ){
echo implode("\t",$value);
echo "<br>";
}
exit;