php学习

php输出
1直接输出:

$name ="kk";
echo "H,"   .$name ;//H,kk
echo 'H,"   . $name ;//H,kk
echo "H,$name";     //H,kk


2.echo输出多个变量 


php
$name ="Maoshu";
echo "Hello,"$name;


3.EOF定界符(heredoc)和(nowdoc)


$name ="kk";
echo <<<EOF       //
我是 $name 呀      //我是 kk 呀 
EOF ;                     //
$name = "Maoshu";
echo <<<'EOF'
我是 $name 呀       //  我是 $name 呀 
EOF;

4.模块化输出

 $name=kk;  echo "Hello,{$name}"    //hellokk
 $name=["name"=>"kk"];

echo "Hello,{$name[ 'name']}";//Hellokk

5 .printf0 和sprintf ()

printf是直接输出,不返回任何值

sprintf不输出,但有返回值
$name = "Maoshu";
$age-35;
printf("我是 %s,今年%s",$name,$age);

php条件判断
  • if 语句 
  • - 在条件成立时执行代码

       if (条件)
       {
        条件成立时要执行的代码;
         }

  • if...else 语句 
  • 在条件成立时执行一块代码,条件不成立时执行另一块代码

  • if...elseif....else 语句 
  • - 在若干条件之一成立时执行一个代码块

  • <?php
    $t=date("H");
    if ($t<"10")
    {
        echo "Have a good morning!";
    }
    elseif ($t<"20")
    {
        echo "Have a good day!";
    }
    else
    {
        echo "Have a good night!";
    }
    ?>

    if (条件)
    {
        if 条件成立时执行的代码;
    }
    elseif (条件)
    {
        elseif 条件成立时执行的代码;
    }
    else
    {
        条件不成立时执行的代码;
    }

  • switch 语句 
  • - 在若干条件之一成立时执行一个代码块

  • <?php
    $favcolor="red";                                 
    switch ($favcolor)                 $favcolor 可以是要被比较的表达式。         
    {
    case "red":                  可能的值,就执行相应的代码块。                                
        echo "你喜欢的颜色是红色!";
        break;
    case "blue":
        echo "你喜欢的颜色是蓝色!";
        break;
    case "green":
        echo "你喜欢的颜色是绿色!";
        break;
    default:
        echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
    }
    ?>

for循环
for (初始值; 条件; 增量)   //  ($i=1,$j=0; $i<=5; $i++)
{          // 只适合纯数值的数组如【1,23,4】或【“你”,“我”,“他”】
    要执行的代码;  
}
foreach ($array as $key => $value)//($array as $value)
{         //可以循环取出key,value的值
    要执行代码;echo "key 为 " . $key . ",对应的 value 为 ". $value . PHP_EOL;
}
PHP 函数
  • 函数必须以function开头,名称应该提示出它的功能
  • 函数名称以字母或下划线开头(不能以数字开头)
  • <?php
    function add($x,$y)
    {
        $total=$x+$y;
        return $total;
    }
     
    echo "1 + 16 = " . add(1,16);
    ?>
  • PHP 变量函数

变量函数是指在 PHP 中,将一个变量作为函数名来调用的函数。

变量函数可以让我们在运行时动态地决定调用哪个函数。

也可以用变量函数的语法来调用一个对象的方法。

<?php
class Foo
{
    function Variable()
    {
        $name = 'Bar';
        $this->$name(); // 调用 Bar() 方法
    }

    function Bar()
    {
        echo "This is Bar";
    }
}

$foo = new Foo();
$funcname = "Variable";
$foo->$funcname();  // 调用 $foo->Variable()

?>

PHP 变量作用域

PHP 有四种不同的变量作用域:

函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,

函数内部声明的变量是局部变量,仅能在函数内部访问

  • local
  • global                  要在一个函数中访问一个全局变量,需要使用 global 关键字。
  • static              函数内的,函数调用一次,累计一次
  • parameter
SQL防注入
预处理方法
查询
 

$sql ="SELECT * FROM user WHERE username = ? AND password =?"; //  ?传参
$stmt =$conn->prepare($sq1);   //prepare($sq1)执行数据库查询或操作做准备
//绑定
$stmt->bind_param("ss",$username, $password);//绑定,确保参数被正确地格式化和转义

                                     参数 “ss” 表示后面的两个参数$username$password都是字符串类型
//执行
$stmt->execute();
//获取结果
$result=$stmt->get result();

print_r('<pre>');

print r($result->fetch_a11());
//关闭
$stmt->close();

i - integer(整型)
d - double(双精度浮点型)
s - string(字符串)
b - BLOB(binary large object:二进制大对象

插入--预处理


$sq1 ="INSERT INTo user(username, password, phone)  VALUES(?,?,?)";
$stmt =$conn->prepare($sql);
//绑定
$stmt->bind_param("sss",$username,$password,$phone);//执行
$stmt->execute();
//获取结果
if($stmt->affected rows >0){
echo“插入成功";

}else {
echo“插入失败";
//关闭
$stmt->close();

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
 
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // 设置 PDO 错误模式为异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
    // 预处理 SQL 并绑定参数
    $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) 
    VALUES (:firstname, :lastname, :email)");
    $stmt->bindParam(':firstname', $firstname);
    $stmt->bindParam(':lastname', $lastname);
    $stmt->bindParam(':email', $email);
 
    // 插入行
    $firstname = "John";
    $lastname = "Doe";
    $email = "john@example.com";
    $stmt->execute();
 
    // 插入其他行
    $firstname = "Mary";
    $lastname = "Moe";
    $email = "mary@example.com";
    $stmt->execute();
 
    // 插入其他行
    $firstname = "Julie";
    $lastname = "Dooley";
    $email = "julie@example.com";
    $stmt->execute();
 
    echo "新记录插入成功";
}
catch(PDOException $e)
{
    echo "Error: " . $e->getMessage();
}
$conn = null;
?>
php练习1
前后端数据库实例
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="layui-v2.9.21/css/layui.css">
</head>
<body>
<div class="layui-container">
    <div class="layui-row">
        <div class="layui-col-md6  layui-col-md-offset3" >          
            <div class="layui-form"  style="padding: 60px;">
                <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>" method="post">
                <input type="text"  name="name"  placeholder="姓名" class="layui-input">
                <hr class="ws-space-16">
                <input type="email" name="email" placeholder="email" class="layui-input">
                <hr class="ws-space-16">
                <textarea name="text" placeholder="留言板" class="layui-textarea"></textarea>
                <input type="submit" value="提交" class="layui-btn layui-btn-fluid">
                </form>
            </div>
        </div>
    </div>
</div> 
<?php echo $_SERVER['PHP_SELF']?>
<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>
<?php
 $conn=new mysqli("localhost","root","123456","sys",3306);
if ($_SERVER['REQUEST_METHOD']==="POST") {   
    $yz=true;
    foreach(["name","email","text"] as $key =>$value){
    if(empty($_POST[$value])){
        $yz=false;
       echo '<script>alert("'.$value.'  不能为空")   </script>';
       break;
    }}
    if ($yz) {       
        $sql="insert into lyban(name,email,text) values(?,?,?)";
        $stmt=$conn->prepare($sql);
        $stmt->bind_param("sss",$name,$email,$text);
        $name=$_POST["name"];
        $email=$_POST['email'];
        $text=$_POST['text'];
        if ($stmt->execute()) {
            echo "数据插入成功";
        } else {
            echo "数据插入失败: ". $stmt->error;
        }
        $result=$conn->query("select * from lyban");
        while ($row=$result->fetch_assoc()) {
            echo "<br>".$row["temp_id"]."-------".$row["name"].
             "------------".$row["text"]."----------".$row["update_time"];
        }
        $stmt->close();
        $conn->close();
    } 
}
?>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值