我试图从我的数据库中获取日期,但只有在满足某些条件时。我想要一个表来填充来自 mySQL 的数据,只有当数据以用户名提交时。(即该数据与该用户相关。)
此数据已保存为TIMESTAMP
.
$sql = "SELECT * FROM bug LIMIT 100";
$result = mysql_query($sql)or die(mysql_error());
while($row = mysql_fetch_array($result)){
$bdate = $row['bugDate'];
$bfor = $row['bugFor'];
$finduserid= mysql_query
("SELECT UserId FROM user WHERE userName='{$_SESSION['myusername']}'");
if($finduserid)
{
$getuserid = mysql_fetch_assoc($finduserid);
}
$findbdate =
mysql_query("SELECT bugDate FROM bug WHERE bugDate = '$bdate'
AND '$bfor' = '" . $getuserid['UserId'] . "'");
if($findbdate)
{
$getbdate = mysql_fetch_array($findbdate);
}
$bdatetime = new DateTime($getbdate['bugDate']);
$formattedbdate = date_format($bdatetime, 'd,M Y');
如果有人可以帮助我,我将不胜感激。
显然,安全性很糟糕,我很确定这种方法将是做我想做的事情的最低效的方法,但是我是一个菜鸟,并且是一种边做边学的人。如果您有一些关于安全的新手友好文档并且看到这让您感到畏缩,请随时发布链接。任何帮助是极大的赞赏。
(如果您需要了解更多信息,请告诉我,如果我一开始没有将其包括在内,我们深表歉意!)
编辑:我让它工作了。我正在做任何人能想到的最迂回、最荒谬的方式。虽然我没有使用 JOIN
它,但它让我走上了正确的道路。将 250 行毫无意义的无效代码压缩到 3-4 行,这对除了我之外的所有人来说都是显而易见的。
我选择了我的会话登录等于我在数据库上的 loginName 的行。
$finduserid= "SELECT UserId FROM user WHERE userName='{$_SESSION['myusername']}'";
$runuserid = mysql_query($finduserid)or die(mysql_error());
while($getuserid = mysql_fetch_array($runuserid)){
$userid = $getuserid['0'];
}
然后,我只选择了包含我的用户名的记录(而不是所有内容,然后试图摆脱其中没有我的用户名的所有内容。)-_-(我是个白痴。)
$sql = "SELECT * FROM bug WHERE bugFor = '$userid'";
$result = mysql_query($sql)or die(mysql_error());