Maison >développement back-end >PHP7 >La deuxième étape de préparation au développement du forum de discussion PHP7

La deuxième étape de préparation au développement du forum de discussion PHP7

coldplay.xixi
coldplay.xixiavant
2020-12-25 09:30:322316parcourir

Tutoriel PHP7La colonne explique la deuxième étape de préparation au développement du forum de discussion PHP7

La deuxième étape de préparation au développement du forum de discussion PHP7

Recommandé (gratuit) : Tutoriel PHP7

Aperçu de cette étape :
1. Super variables globales $_GET $_POST
2. Conception de la base de données MYSQL
3. Opérations, connexions et opérations d'ajout, de suppression, de modification (select insert delete update) de la base de données liées à MySQLi


Allons droit au but :

  • 1. Situation super globale Le contenu conceptuel de la variable $_GET $_POST
    n'est pas expliqué ici Tout comme le sens littéral, get signifie que l'utilisateur l'a soumis à partir du formulaire dont la méthode de soumission est get (l'attribut. sous la forme est method="get") , s'il s'agit d'une publication, la méthode de soumission est post. La seule différence est que la publication est plus sûre que get et que davantage de contenu est soumis. 留言板提交方式建议一定是post
// 获取姓名
$name = $_GET['name'];
$name = $_POST['name'];

// 获取联系方式
$contact= $_GET['contact'];
$contact= $_POST['contact'];

// 获取留言内容,这里如果提交的内容比较多,超过浏览器url长度限制会报错,所以还是建议用post方式
$content= $_GET['content'];
$content= $_POST['content'];
  • 2. Conception de la base de données MYSQL
--
-- 表的结构 `feedback`
--

CREATE TABLE `feedback` (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL COMMENT '姓名',
  `contact` varchar(100) NOT NULL COMMENT '联系方式',
  `content` text NOT NULL COMMENT '留言内容',
  `addtime` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '记录时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='留言板数据表';

Opération d'enregistrement de recherche :

// localhost数据库地址,本地数据库一般都是这个或者127.0.0.1;php_course是数据表,即用户提交留言信息保存的数据表
$mysqli = mysqli_connect('localhost', '数据库账号', '数据库密码', 'php_course');
if(mysqli_connect_errno()){
    echo '连接数据库失败:'.mysqli_connect_error();
    exit;
}
mysqli_query($mysqli, "SET NAMES UTF8"); // 因为文件编码是utf8,所以数据记录集也需要设置utf8编码,否否则查询出来的结果会乱码
$sql = "SELECT * FROM feedback"; // 查询sql语句
$result = mysqli_query($mysqli, $sql); // 执行语句
$rows_num = mysqli_affected_rows($mysqli); // 返回记录数,只是一个统计,可以不用
echo $rows_num;
// 开始遍历记录集,循环获取所有feedback表中的所有记录并赋值到$all_row
$all_row = array();
while($rows = mysqli_fetch_array($result)){
    print_r($rows);
    $all_row[] = $rows;
}
// $all_row就是feedback的所有结果集
print_r($all_row);

Opération de stockage d'enregistrement :

$mysqli = mysqli_connect('localhost', 'root', '', 'php_course');
if(mysqli_connect_errno()){
    echo '连接数据库失败:'.mysqli_connect_error();
    exit;
}
mysqli_query($mysqli, "SET NAMES UTF8");
$sql = 'INSERT INTO feedback (name, contact, content, addtime) VALUES ("测试", "qq1000", "留言内容", '.$time.')';
$result = mysqli_query($mysqli, $sql);
$insert_id = mysqli_insert_id($mysqli); // 返回数据表的自增长ID,比如新用户注册返回用户ID
echo $insert_id; // 当你在调试的时候,你会发现echo是很好的帮手。
if($insert_id > 0){
    // 如果入库成功,可以做什么
}

Modification et mise à jour :

// 修改更新
// 修改之前需要根据id查找记录是否存在,如果存在则可以修改(这种情况很常用,比如用户后台,除了验证用户是否登录还需要验证当前修改的记录是否属于当前用户)
$mysqli = mysqli_connect('localhost', 'root', '', 'php_course');
if(mysqli_connect_errno()){
    echo '连接数据库失败:'.mysqli_connect_error();
    exit;
}
$sql = "SELECT * FROM feedback WHERE id = 3";
$result = mysqli_query($mysqli, $sql); // 返回一个资源标识符,通常是数字
$row = mysqli_fetch_array($result);
if(!empty($row)){
    // 执行更新操作
    $update_sql = "UPDATE feedback SET name='修改后的名字' WHERE id={$row['id']}";
    if(FALSE !== mysqli_query($mysqli, $update_sql)){
        // 修改成功
    }
}else{
    echo '信息不能再或者不属于你的。';
    exit();
}

Opération de suppression :

// 删除操作
// 跟修改更新同样,删除之前需要判断当前删除的记录是否存在(如果还有图片附件,需要先删除附件再删除记录)
$mysqli = mysqli_connect('localhost', 'root', '', 'php_course');
if(mysqli_connect_errno()){
    echo '连接数据库失败:'.mysqli_connect_error();
    exit;
}
$sql = "DELETE FROM feedback WHERE id = 3";
$result = mysqli_query($mysqli, $sql); // 返回一个资源标识符,通常是数字
if(FALSE !== $result){
    // 删除成功
}

Cette section concerne principalement les opérations php+mysql qui sont relativement fréquemment utilisées, mais ce ne sont aussi que ces quelques syntaxes. . Nous l'utiliserons fréquemment à l'avenir.

  • 1. sélectionnez pour rechercher des enregistrements
  • 2. insérer dans pour insérer des données
  • 3. mettre à jour pour modifier les données
  • 4. supprimer des données (il s'agit d'une suppression dure, qui est une suppression permanente et qui ne peut généralement pas être récupérée. Il existe également une suppression logicielle, qui sera discutée à l'avenir)

Les étudiants n'oubliez pas de s'entraîner fréquemment et de les mémoriser opérations pour les maîtriser. Si vous rencontrez des problèmes au cours du processus d'apprentissage, vous pouvez en discuter à tout moment dans la zone de commentaires ci-dessous.
D'accord, c'est tout pour cette section. Dans la section suivante, nous trierons le code pour le rendre plus lisible.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer