我在过去的一个小时里尝试找到一种方法让服务器识别用户是否已经在我的 MySQL 数据库中拥有类似的行
你们有人可以帮助我吗?
这是我现在完成的代码
$nummer = $_GET['a'];
$klasse = strtoupper ( $_GET['b'] );
$kid = $nummer . '.' . $klasse;
$result = $db->query("SELECT kid FROM Kcode WHERE sid='".$_SESSION['id']."'");
$resa = $result->fetch();
$b = strtoupper ( $resa['kid'] );
$a = $kid
$c = $_SESSION['id'];
if ($a !== $b){
echo "insert";
} else {
echo "already exists";
}
可以更深入地解释不同的 get 命令是什么:
$_GET['a']
=从上一页检索到的一封信$_GET['b']
=从上一页检索到的数字“孩子”是我的 Kcode 表中的一行,问题是我想与几个孩子进行比较
$a
...但是当我尝试这种方式时,它只检索最后创建的。
感谢您的宝贵时间
编辑: 正如评论中所说,我想将
$kid
与名为 Kid WHEN sid=$_SESSION['id']
的 MySQL 行进行比较。
如果要检索多行,则需要将
fetch
放入循环中:
$exists = false;
while($resa = $result->fetch()) {
$b = strtoupper ( $resa['kid'] );
$a = $kid
$c = $_SESSION['id'];
if ($a !== $b){
//echo "insert";
} else {
$exists = true;
//echo "already exists";
}
}
if($exists){
{
echo "already exists";
} else {
echo "insert";
}
这就是你想要做的吗?
现在,如果您想做的只是查看行是否存在,则应该修改您的查询:
$result = $db->query("SELECT kid FROM Kcode WHERE sid='".$_SESSION['id']."'
AND kid='$kid'");
既然你从你那里获取
$kid
参数,你需要先清理它,以防止SQL注入。