1

我的更新表单脚本只有在我使用数字时才有效,但是如果我尝试使用任何单词,它将不起作用。我需要帮助,谢谢!

<?php
if(isset($_POST['teams'])){
  $home_team = $_POST['home_team'];
  $visitor_team = $_POST['visitor_team'];
  $sql = mysql_query("UPDATE table1 
SET home_team = $home_team, visitor_team = $visitor_team
WHERE active = 1") ;
  $retval = mysql_query( $sql, $conn );
  if(! $retval ){ 
die("<p>Error! Could not update team names. Click return button.</p>");
}
echo "<p>Team names set successfully!</p>";
mysql_close($conn);
} 
?>
4

2 回答 2

1

尝试使用''您的查询,

$sql = mysql_query("UPDATE table1 SET 
            home_team = '".mysql_real_escape_string($home_team)."', 
            visitor_team = '".mysql_real_escape_string($visitor_team)."'
       WHERE active = '1'") ;

还添加mysql_real_escape_string()以防止 SQL 注入..

于 2012-11-28T04:24:39.323 回答
0

      传递给 SQL 语句的每个字符串都必须包含在'' ; 如果不是,则会导致错误。
      话虽如此,将表单中的内容直接放入数据库是非常、非常、非常、非常(我需要另一个非常)糟糕的。任何人都可以简单地擦除您的数据库;这叫做SQL 注入
      为了保护你的数据库,你可以从这篇关于PDO的好文章开始

于 2012-11-28T04:36:23.387 回答