向数据库添加新值,没有错误但不输入

时间:2012-04-29 03:10:06

标签: php mysql

如果团队名不在数据库中,我想输入它,如果不忽略它。但我没有得到错误我所看到的是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>";
}

4 个答案:

答案 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()

替换它