PHP + MySQL 学习笔记(二)--- PHP 和 MySQL 之间的沟通和 mysqli_fetch_array()及chop() 的使用

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 .= ");" ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值