Php 试图添加一个';比如';系统
以下内容将传递到浏览器: 其中f=1是我想要的物品ID。有一个用户系统,我只希望他们能够喜欢这篇文章一次(出于明显的原因)。我的代码,从数据库中提取关于文章的信息,然后提取用户信息(从当前会话中获取ID),然后检查用户是否已经喜欢它,如果不喜欢,则插入类似的数据库,或者返回到文章页面。这是我目前掌握的代码 正如您在代码中看到的,我一直在尝试调试,但进展不顺利Php 试图添加一个';比如';系统,php,mysql,Php,Mysql,以下内容将传递到浏览器: 其中f=1是我想要的物品ID。有一个用户系统,我只希望他们能够喜欢这篇文章一次(出于明显的原因)。我的代码,从数据库中提取关于文章的信息,然后提取用户信息(从当前会话中获取ID),然后检查用户是否已经喜欢它,如果不喜欢,则插入类似的数据库,或者返回到文章页面。这是我目前掌握的代码 正如您在代码中看到的,我一直在尝试调试,但进展不顺利 <?php include "connect.php"; session_start(); $feed = $_GET['f'];
<?php
include "connect.php";
session_start();
$feed = $_GET['f'];
$feeddb = "SELECT * from feeddb where ID=$feed";
$feeddb2 = mysql_query($feeddb) or die("Whuuut?");
$feeddb3 = mysql_fetch_array($feeddb2);
if (isset($_SESSION['usrname']))
{
$player=$_SESSION['usrname'];
$userstats="SELECT * from feedus where tit='$player'";
$userstats2=mysql_query($userstats) or die("Could not get user stats");
$userstats3=mysql_fetch_array($userstats2);
$feedli = "SELECT * from feedli where PID=$feed";
$feedli2 = mysql_query($feedli) or die("Could not get likes");
while($feedli3=mysql_fetch_array($feedli2))
{
if($userstats3['ID'] == $feedli3['UID'])
{
echo $userstats3[ID];
echo $feedli3[UID];
} else {
$updatelike =
"INSERT into feedli (PID, UID) values('$feed','$userstats3[ID]')";
$updatelike2 = mysql_query($updatelike);
echo $userstats3[ID];
echo $feedli3[UID];
}
}
}
else
{
}
?>
在执行插入查询之前,$updatelike=“插入到feedli(PID,UID)值(“$feed”,“$userstats3[ID]”)代码>您应该检查是否存在带有传输的PID和UID的数据集。如果有,什么都不要做。。。如果没有,则执行插入。
希望我没有误解您的问题。在执行插入查询之前,$updatelike=“插入到feedli(PID,UID)值(“$feed”,“$userstats3[ID]”)代码>您应该检查是否存在带有传输的PID和UID的数据集。如果有,什么都不要做。。。如果没有,则执行插入。
我希望,我没有误解您的问题。我认为您在代码中没有使用$feeddb3。。这可能是有用的。还要尽量避免sql注入
<?php
session_start();
include "connect.php";
$feed = $_GET['f'];
if (isset($_SESSION['usrname']))
{
$player=$_SESSION['usrname'];
$userstats2=mysql_query("SELECT * from feedus where tit='".mysql_real_escape_string(stripslashes($player))."'") or die("Could not get user stats");
$userstats3=mysql_fetch_array($userstats2);
$feedli2 = mysql_query("SELECT * from feedli where PID='".mysql_real_escape_string(stripslashes($feed))."' AND UID = '".$userstats3['ID']."'");
if(!mysql_num_rows($feedli2))
{
$updatelike2 = mysql_query("INSERT into feedli (PID, UID) values('".mysql_real_escape_string(stripslashes($feed))."','".mysql_real_escape_string(stripslashes($userstats3['ID']))."')");
echo $userstats3['ID'];
}
else
{
echo "already liked";
}
}
?>
我认为代码中没有使用$feeddb3。。这可能是有用的。还要尽量避免sql注入
<?php
session_start();
include "connect.php";
$feed = $_GET['f'];
if (isset($_SESSION['usrname']))
{
$player=$_SESSION['usrname'];
$userstats2=mysql_query("SELECT * from feedus where tit='".mysql_real_escape_string(stripslashes($player))."'") or die("Could not get user stats");
$userstats3=mysql_fetch_array($userstats2);
$feedli2 = mysql_query("SELECT * from feedli where PID='".mysql_real_escape_string(stripslashes($feed))."' AND UID = '".$userstats3['ID']."'");
if(!mysql_num_rows($feedli2))
{
$updatelike2 = mysql_query("INSERT into feedli (PID, UID) values('".mysql_real_escape_string(stripslashes($feed))."','".mysql_real_escape_string(stripslashes($userstats3['ID']))."')");
echo $userstats3['ID'];
}
else
{
echo "already liked";
}
}
?>
首先,您可能想给变量起一个更有意义的全名——这只是一个可读性提示。另外,请注意可能的SQL注入
其次,如上所述,通过检查tuple(user\u id,feed\u id)是否存在于likes表中,可以更快地完成这项工作。我已经停止编写了,因为上面的内容应该可以正常工作,不过您可以合并feedli2和userstats2查询。首先,您可能希望给变量起一个更有意义的全名,这只是一个可读性提示。另外,请注意可能的SQL注入
其次,如上所述,通过检查tuple(user\u id,feed\u id)是否存在于likes表中,可以更快地完成这项工作。我已经停止写了,因为上面的内容应该可以正常工作,不过您可以合并feedli2和userstats2查询。也许您应该描述一下问题是什么?也就是说,您希望代码做什么?也许您应该描述问题是什么?也就是说,您希望代码做什么?