批改状态:合格
老师批语:
知识点:
1、mysql数据连接:mysqli_connect(host,username,password,dbname,port,socket)
2、返回最后一个错误代码:mysqli_errno(connection)
3、返回最后一个错误描述:mysqli_error(connection)
4、执行查询:mysqli_query(connection,query)
5、执行一个或多个查询:mysqli_multi_query(connection,query)
6、返回结果集中行的数量:mysqli_num_rows(result)
7、返回前一次操作所影响的记录行数:mysqli_affected_rows(connection)
8、检查一个多查询是否有更多的结果:mysqli_more_results(connection)
9、从结果集中取得一行,并作为枚举数组返回:mysqli_fetch_row(result)
10、关闭数据库连接:mysqli_close(connection)
今天学习了mysql操作,制作了一个简单的彩票开奖自动采集工具(采集并写入数据库)。
效果图如下:


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数据采集</title>
<style type="text/css">
.container{
width: 100%;
}
.main{
width: 1000px;
margin: auto;
}
</style>
</head>
<body>
<div class="container">
<div class="main"><table>
<tr>
<td>北京快乐8</td>
<td><textarea name="bjkl8" id="bjkl8" cols="100" rows="3"></textarea></td>
</tr>
<tr>
<td>北京PK10</td>
<td><textarea name="bjpk10" id="bjpk10" cols="100" rows="3"></textarea></td>
</tr>
<tr>
<td>重启时时彩</td>
<td><textarea name="cqssc" id="cqssc" cols="100" rows="3"></textarea></td>
</tr>
<tr>
<td>澳洲快乐8</td>
<td><textarea name="aukeno" id="aukeno" cols="100" rows="3"></textarea></td>
</tr>
<tr>
<td>加拿大卑斯快乐8</td>
<td><textarea name="cakeno" id="cakeno" cols="100" rows="3"></textarea></td>
</tr>
</table></div>
</div>
</body>
</html>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
<script type="text/javascript">
window.setInterval(function () {
$.get('cj.php','gamecode=bjkl8',function (res) {
$('#bjkl8').text(res)
})
$.get('cj.php','gamecode=bjpk10',function (res) {
$('#bjpk10').text(res)
})
$.get('cj.php','gamecode=cqssc',function (res) {
$('#cqssc').text(res)
})
$.get('cj.php','gamecode=aukeno',function (res) {
$('#aukeno').text(res)
})
$.get('cj.php','gamecode=cakeno',function (res) {
$('#cakeno').text(res)
})
}
,5000)
</script>点击 "运行实例" 按钮查看在线实例
<?php
require 'inc/function.php';
$gamecode = $_GET['gamecode'];
if (isset($gamecode)){
opencj('http://f.apiplus.net/'.$gamecode.'.json',$gamecode);
}点击 "运行实例" 按钮查看在线实例
<?php
function opencj($cjurl, $gamecode='bjkl8')
{
$url=$cjurl;
$fh= file_get_contents($url);
if (strpos($fh,'频率过快') >0){
echo 'error:'.$fh;
}else{
$data = getSubstr($fh,'[',']');
$data = '{'.getSubstr($data,'{','}').'}';
$data = json_decode($data,true);
$expect = $data['expect'];
$opencode = substr($data['opencode'],0,59);
$opentime = $data['opentime'];
//判断游戏code重定义期号,部分游戏期号从01开始,给这些期号加上日期,防止重复。
switch ($gamecode){
case 'aukeno':
$expect = '20'.date('ymd',time()).$expect;
break;
}
//连接数据库
include_once ('inc/mysql.php');
//定义sql语句insert
$sql = "INSERT IGNORE into `cj_$gamecode` (`id`, `result`, `datetime`) VALUES ('$expect', '$opencode', '$opentime');";
//执行sql语句
if (mysqli_query($mysql,$sql)){
if (mysqli_affected_rows($mysql)>0){
echo 'expect:'.$expect.' opencode:'.$opencode.' opentime:'.$opentime.' actualtime:20'.date('y-m-d h:i:s',time());
}else{
echo '已更新 expect:'.$expect.' opencode:'.$opencode.' opentime:'.$opentime.' actualtime:20'.date('y-m-d h:i:s',time());
}
}
mysqli_close($mysql);
}
}
function getSubstr($str, $leftStr, $rightStr)
{
$left = strpos($str, $leftStr);
//echo '左边:'.$left;
$right = strpos($str, $rightStr,$left);
//echo '<br>右边:'.$right;
if($left < 0 or $right < $left) return '';
return substr($str, $left + strlen($leftStr), $right-$left-strlen($leftStr));
}
?>点击 "运行实例" 按钮查看在线实例
<?php
define('dbhost','127.0.0.1');
define('dbuser','caipiao');
define('dbpass','123456');
define('dbname','caipiao');
define('dbchar','utf8');
$mysql = mysqli_connect(dbhost,dbuser,dbpass,dbname) or die('连接失败'.mysqli_connect_error($mysql));
mysqli_set_charset($mysql,dbchar);点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号