gpt4 book ai didi

php - 如果伪不存在则插入

转载 作者:行者123 更新时间:2023-11-30 00:18:07 25 4
gpt4 key购买 nike

我开始学习PHP和mysql。我想检查伪数据是否已存在于我的数据库中。如果是,则不执行任何操作,如果不插入。这是我使用的代码:

if (isset( $_POST['pseudo'])) {

$sel = $bdd -> prepare('SELECT pseudo FROM ajax WHERE pseudo = :pseudo');
$sel -> bindParam(':pseudo', $_POST['pseudo'], PDO::PARAM_STR);
$sel->execute();
while ( $data = $sel->fetch(PDO::FETCH_ASSOC)) {
if ( $data['pseudo'] == $_POST['pseudo'] ) {
echo 'This pseudo already exist, please change it';
} else {
$insert = $bdd -> prepare('INSERT INTO ajax(id, nom, prenom, pseudo) VALUES(NULL, :nom, :prenom, :pseudo)');
$insert->bindParam(':nom', $_POST['nom']);
$insert->bindParam(':prenom', $_POST['prenom']);
$insert->bindParam(':pseudo', $_POST['pseudo']);
$insert->execute();
}
}
}

我需要你的帮助,因为它既不检查也不插入!

最佳答案

当您的伪文件已经存在时,可能会出现此问题。这会导致您的 SELECT 不返回任何结果。如果没有结果,则永远不会输入 while block ,因为 $data = $sel->fetch(PDO::FETCH_ASSOC) 返回 null ,该值被转换为 false.

无论如何,您实际上不必迭代结果。

只需使用count来检查是否有结果。否则,没有任何内容与您的查询匹配,因此您的数据库中没有该伪文件,您可以进行插入。

阅读 Mysqli 文档以了解如何使用 count :php.net/manual/en/book.mysqli.php

关于php - 如果伪不存在则插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23488035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com