PHP与MySQL

PHP

  PHP 后端的开发语言
  在HBuilder中配置“运行”“设置web服务器”设置HTML类文件和PHP类文件为自己配置的“外置Web服务器配置”。
  localhost 对应的是documentRoot那个路径(项目需要放置的位置),Apache中的httpd.conf和httpd-vhosts.conf文件。

PHP语法

使用语法:写在<?php ?>中,echo输出,var_dump($flag)另一种输出方式,类似于console.log()。

<?php
echo "aa";
echo "这是一段话";
echo "<p>这是一段话</p>";
//php里使用$来定义一个变量
//php单行注释
/*php多行注释*/
$str = <<<AAA
	<h1>标题</h1>
	<p>段落</p>
	<p>段落</p>
AAA;
 echo $str;
?>

PHP数据类型

1、布尔值(true TRUE var_dump())
2、整型(integer)
3、浮点型(float)
4、字符串(string)
5、数组(array)
6、对象(object)

<?php
$flag = true;
//echo $flag;
var_dump($flag);//console.log()

$num1 = 10;
$num2 = 10.1;
var_dump($num1,$num2);

$str = "abc";
$arr = [1,2,3];
var_dump($str,$arr);

class Person{
	
}
$person = new Person();
var_dump($person);
?>

PHP数组的创建方式

1、不带索引的数组(默认索引从0开始,依次增1)

$arr = [1,2,3];
var_dump($arr);
/*array (size=3)
  0 => int 1
  1 => int 2
  2 => int 3*/

2、带索引的数组

$arr1 = ["name"=>"john","age"=>20];//key=>value
var_dump($arr1);
/*array (size=2)
  'name' => string 'john' (length=4)
  'age' => int 20*/

3、二维数组

$arr2 = [[1,2],[3,4]];
var_dump($arr2);
/*array (size=2)
  0 => 
    array (size=2)
      0 => int 1
      1 => int 2
  1 => 
    array (size=2)
      0 => int 3
      1 => int 4*/

4、使用变量创建数组compact()

$a = "aa";
$b = "bb";
$c = [1,2];

$arr3 = compact("a","b","c");

var_dump($arr3);
/*array (size=3)
  'a' => string 'aa' (length=2)
  'b' => string 'bb' (length=2)
  'c' => 
    array (size=2)
      0 => int 1
      1 => int 2*/

5、使用两个数组创建一个数组

// $a的值为key,$b的值为value
$a = [1,2,3];
$b = ["a","b","c"];

var_dump(array_combine($a,$b));
/*array (size=3)
  1 => string 'a' (length=1)
  2 => string 'b' (length=1)
  3 => string 'c' (length=1)*/

6、建立指定范围单元的数组range(start,end,step)

var_dump(range(1,10,2));
/*array (size=5)
  0 => int 1
  1 => int 3
  2 => int 5
  3 => int 7
  4 => int 9*/

数组方法

1、in_array 判断数组中是否包含某个值,返回布尔值

$arr = [12,3,4];
var_dump(in_array(3,$arr)); // boolean true

2、取得键名和键值 array_keys array_values

$arr = [12,3,4];
var_dump(array_keys($arr));
/*array (size=3)
  0 => int 0
  1 => int 1
  2 => int 2*/
var_dump(array_values($arr));
/*array (size=3)
  0 => int 12
  1 => int 3
  2 => int 4*/

3、移除数组中重复的值,返回去重之后的数组 array_unique

$arr = [1,1,1,1,2,3];
var_dump(array_unique($arr));
/*array (size=3)
  0 => int 1
  4 => int 2
  5 => int 3*/

4、list( a , a, a,b) = $arr;把数组中的值赋给指定的变量

5、foreach($arr as $val) 遍历数组

$arr = [12,3,4];
foreach($arr as $val){
	echo $val."<br>";
}
/*12
3
4*/

6、计算数组的长度 count

$arr = [12,3,4];
var_dump(count($arr));
//int 3

7、添加删除 array_push array_pop

$arr = [12,3,4];
array_push($arr,11);
var_dump($arr);
/*array (size=4)
  0 => int 12
  1 => int 3
  2 => int 4
  3 => int 11*/

8、统计数组中所有的值出现的次数array_count_values

$arr = [12,3,3,3,4];
var_dump(array_count_values($arr));
/*array (size=3)
  12 => int 1
  3 => int 3
  4 => int 1*/

PHP和JSON之间的转换

1、isset判断一个变量是否定义
2、json_encode 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,
否则返回 FALSE。 json_encode($students,JSON_UNESCAPED_UNICODE)

$arr2 = [["name"=>"杨浩","age"=>20],["name"=>"杨浩","age"=>20]];//带索引的数组转换成json对象
$json = json_encode($arr2,JSON_UNESCAPED_UNICODE);
echo $json;
//[{"name":"杨浩","age":20},{"name":"杨浩","age":20}]

3、json_decode($val,true) 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。
True表示转换成数组,false转换成对象。

$arr3 = json_decode('{"name":"john"}',true);
var_dump($arr3);
/*array (size=1)
  'name' => string 'john' (length=4)*/

MySQL

1、创建连接,conn.php文件

<?php
$servername = "localhost";
$username = "root";
$password = "";

//创建连接
$conn = new mysqli($servername,$username,$password);
//解决新版本乱码
mysqli_set_charset($conn,'utf8');

//检测连接
if($conn->connect_error){
	die("连接失败:".$conn->connect_error);
}
echo "连接成功";
?>

2、创建数据表

<?php
include_once "conn.php";
$conn->select_db("database0907");

$sql = "create table product(
	id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(30) NOT NULL,
    price VARCHAR(30) NOT NULL,
    srcimg VARCHAR(50),
    reg_date CURRENT_TIMESTAMP
	)";

if($conn->query($sql) === TRUE){
	echo "创建表成功";
}else{
	echo "创建表失败".$conn->error;
}
?>

3、插入数据

<?php
include_once "conn.php";
$conn->select_db("database0907");

$sql = "insert into product (id,title,price,srcimg)
	values('1002','小米腕表','399元','../img/02.jpg'),
		('1001','小米手机','1599元','../img/01.jpg')";

if($conn->query($sql) === TRUE){
	echo "插入数据成功";
}else{
	echo "插入数据失败".$conn->error;
}
?>

4、更新数据

<?php
include_once "conn.php";
$conn->select_db("database0907");

$sql = "update product set price = '1999元' where id = 1001 ";

if($conn->query($sql) === TRUE){
	echo "更新数据成功";
}else{
	echo "更新数据失败".$conn->error;
}
?>

5、删除数据

<?php
include_once "conn.php";
$conn->select_db("database0907");

$sql = "delete from product
		where id = 1002";

if($conn->query($sql) === TRUE){
	echo "删除数据成功";
}else{
	echo "删除数据失败".$conn->error;
}
?>

解决MySQL中文乱码问题

打开MySQL的my.ini文件,
1、在
[client]
;password = your_password
port = 3306
socket = /tmp/mysql.sock位置下,添加如下代码
default-character-set=utf8
2、在
[mysqld]
port = 3306位置下,添加如下代码
character-set-server=utf8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值