ql-No Mysql错误但数据库表未更新

时间:2013-12-06 12:53:31

标签: php mysql sql sql-update

我正在运行一个没有mysql错误的脚本,但没有在数据库表中写入任何内容。

$team1 = 75;
$con = mysqli_connect("localhost","user","pwd");
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
mysqli_select_db($con,"database") or die ("no database");

$sql=" update TABLENAME set 
GAME1 = case when GAME1 = '' then $team1 else GAME1 end,
GAME2 = case when GAME2 = '' then $team1 else GAME2 end,
GAME3 = case when GAME3 = ''  then $team1 else GAME3 end
WHERE ID = 140 ";
if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added";

mysqli_close($con);

当我运行php代码时,它回应“添加了1条记录”,但表中没有添加任何记录。

有什么问题?

感谢。

修改

当我运行echo $ sql时;我明白了:

update TABLENAME set GAME1 = case when GAME1 = '' then 75 else GAME1 end, GAME2 = case when GAME2 = '' then 75 else GAME2 end,GAME3 = case when GAME3 = '' then 75 else GAME3 end WHERE ID = 140 

1 个答案:

答案 0 :(得分:2)

如果出现错误,

mysqli_query将返回false。如果在执行查询时发生错误,则会捕获代码。 很好 :-) 但是,查询可以在没有任何错误的情况下执行,但不提供您期望的结果。例如,这可能是因为未满足where / when语句之一。 要调试它,请回显您的查询,并直接在db:

上执行它
echo $sql;