PHP 和 MySQL 之间的沟通有五个
1.打开资料库。
可以写成一个 .php 然后用 require() 呼叫
/******** 打开 MySQL 资料 ***************/
//database connectivity(地址,使用者,密码,资料库名称)
$con=mysqli_connect("localhost","root","password","pugua") or die(mysqli_error());
2.下命令给 MySQL
// 从资料库里的一个 “table” 读取资料,例子是 bugua-1
$ID ='001';
$sql = "SELECT * from bugua-1 WHERE id='".$ID."'"; //选择资料档 $ID
$result = mysqli_query($con,$sql);
3.从资料库取得资料。
下列片段里 mysqli_fetch_array($result) 这个功能可以验证抓到的资料是否正确,可以作为 debug 时的检查。
/*********************************************/
$result = mysqli_query($con,$sql);
//把SQL的资料放在 $pugua_result 这个 array 参数 备用
$pugua_result=mysqli_fetch_array($result);
print_r($pugua_result); // 把 mysqli_fetch_array($result) 打印在荧幕上核对
4.把结果存进资料库。
// 也是用 mysqli_query()这个功能 把资料写进资料库里,主要是 $sql 这个字串要怎么写
$ID ='001';
$sql = "INSERT INTO bugua-1 (栏位1,栏位2,,)VALUES (值1,值2,,,);
$result = mysqli_query($con,$sql);
5.关闭资料库。
为了避免不同资料列的内容发生不可思议的错误,建议读取完资料后就把资料库关起来。
mysqli_close($con); // 把资料库关起来
一个可以程式的php程式
注意程式中间有一个换盘子的动作,可以避免弄乱资料库读出来的资料。这个换盘子也可以写成 .php 档 用 require() 呼叫使用。
<?php
/******** 打开 MySQL 资料 ***************/
//database connectivity(地址,使用者,密码,资料库名称)
$con=mysqli_connect("localhost","root","password","pugua") or die(mysqli_error());
// 从资料库里的一个 “table” 读取资料,例子是 bugua-1
$ID ='001';
$sql = "SELECT * from bugua-1 WHERE id='".$ID."'"; //选择资料档 $ID
$result = mysqli_query($con,$sql);
/*********************************************/
$pugua_result=mysqli_fetch_array($result);
//把SQL的资料放在 $pugua_result 这个
mysqli_close($con);
/********下列操作的目的是“换盘子” 避免操作时改变资料库资料**************/
$liushou_sql=array( 'liushou_0', 'liushou_1', 'liushou_2', 'liushou_3', 'liushou_4', 'liushou_5');
$fushen_qin_sql=array('fushen_qin_0', 'fushen_qin_1', 'fushen_qin_2', 'fushen_qin_3', 'fushen_qin_4', 'fushen_qin_5');
$fushen_gz_sql=array('fushen_gz_0', 'fushen_gz_1', 'fushen_gz_2', 'fushen_gz_3', 'fushen_gz_4','fushen_gz_5');
$shiying_sql=array('shiying_0', 'shiying_1', 'shiying_2', 'shiying_3', 'shiying_4', 'shiying_5');
$liuqin_sql=array('liuqin_0', 'liuqin_1', 'liuqin_2', 'liuqin_3', 'liuqin_4', 'liuqin_5');
$tuyinyang_sql=array( 'tuyinyang_0', 'tuyinyang_1', 'tuyinyang_2', 'tuyinyang_3', 'tuyinyang_4', 'tuyinyang_5');
$ganzhi_sql=array('ganzhi_0', 'ganzhi_1', 'ganzhi_2', 'ganzhi_3', 'ganzhi_4', 'ganzhi_5');
$yaobian_sql=array('yaobian_0', 'yaobian_1', 'yaobian_2', 'yaobian_3', 'yaobian_4', 'yaobian_5');
$ganzhi_bian_sql=array('ganzhi_bian_0', 'ganzhi_bian_1', 'ganzhi_bian_2', 'ganzhi_bian_3', 'ganzhi_bian_4', 'ganzhi_bian_5');
$liuqin_bian_sql=array('liuqin_bian_0', 'liuqin_bian_1', 'liuqin_bian_2', 'liuqin_bian_3', 'liuqin_bian_4', 'liuqin_bian_5');
$tuyinyang_bian_sql=array('tuyinyang_bian_0', 'tuyinyang_bian_1', 'tuyinyang_bian_2', 'tuyinyang_bian_3', 'tuyinyang_bian_4', 'tuyinyang_bian_5') ;
print_r($pugua_result); // 把 mysqli_fetch_array($result) 打印在荧幕上核对
echo "<br>/****************************/<br>";
/*************foreach 和 chop ***************************/
$liushou= array('白虎','朱雀 ','勾陈 ','青龙','玄武','螣蛇');
$insertSql_a = "INSERT INTO pridictresult (";
$insertSql_b = ") VALUES (";
foreach ($liushou_sql as $value) {
$insertSql_a .= "`" . $value . "`,";
}
$insertSql_a=chop($insertSql_a,","); //chop() 函数移除字符串右侧的空白字符或其他预定义字符。
$insertSql_a .= $insertSql_b;
foreach ($liushou as $value) {
$insertSql_a .= "'" . $value . "',";
}
$insertSql_a=chop($insertSql_a,","); //chop() 函数移除字符串右侧的空白字符或其他预定义字符。
$insertSql_a .= ");" ;
echo "$insertSql_a";
?>
chop() 功能
档资料众多,我们用 for 或是 foreach 回圈快速组织 sql 命令字串,比如:
$liushou= array('白虎','朱雀 ','勾陈 ','青龙','玄武','螣蛇');
$insertSql_a = "INSERT INTO pridictresult (";
$insertSql_b = ") VALUES (";
foreach ($liushou_sql as $value) {
$insertSql_a .= "`" . $value . "`,";
}
$insertSql_a=chop($insertSql_a,","); //chop() 函数移除字符串右侧的空白字符或其他预定义字符。
每个值会用逗号 ‘,’ 隔开;子串最后又不需要这个逗号, 我们就用 chop() 这个功能去掉 ‘,’ 。再把“)” 做结尾就可以了。
$insertSql_a=chop($insertSql_a,",");
$insertSql_a .= ");" ;