如果团队名不在数据库中,我想输入它,如果不忽略它。但我没有得到错误我所看到的是echoed语句但它没有输入到数据库中。 数据库是MySQL,表名是2012FallTeamstats我有一个team_id列,自动增加了一个胜利和一个百分比字段。 (表中总共4个)
mysql_query("SELECT teamname FROM 2012FallTeamstats WHERE teamname = '$teamH'");
if (mysql_affected_rows() == 0) {
mysql_query("INSERT INTO 2012FallTeamstats (teamname) VALUES ('$teamH')");
echo "New: <strong>".stripslashes($teamH)."</strong> (home team) inserted into the database.<br>";
}
答案 0 :(得分:2)
尝试mysql_num_rows()而不是mysql_affected_rows。
像这样的代码。$result_team = mysql_query(.........); (your code)
然后
if(mysql_num_rows($result_team) == 0)
{
//insert command
}
答案 1 :(得分:0)
如果您剪切并粘贴打印出的SQL并从命令行进入MySQL,会发生什么?我怀疑您可能需要将表中的额外字段添加到SQL中,但如果运行现有SQL,您将看到该语句是否存在问题。
答案 2 :(得分:0)
您无法从查询中获得结果:
注意: $result=
加mysql_num_rows()
&amp; quoting column
&amp; or die(mysql_error());
$result = mysql_query("SELECT `teamname` FROM `2012FallTeamstats` WHERE teamname = '$teamH'");
if (mysql_num_rows($result) == 0) {
mysql_query("INSERT INTO `2012FallTeamstats` (teamname) VALUES ('$teamH')")or die(mysql_error());
echo "New: <strong>".stripslashes($teamH)."</strong> (home team) inserted into the database.<br>";
}
答案 3 :(得分:0)
你的第二个语句可能没有被调用,因为mysql_affected_rows()没有从select语句给你计数 - 该函数仅用于你的CRUD操作。尝试用mysql_num_rows()
替换它