PHP + MySQL 学习笔记(二)--- PHP 和 MySQL 之间的沟通和 mysqli

it2022-12-28  79

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)