MySQL数据库仅使用数字进行更新

时间:2012-11-28 04:22:27

标签: php mysql

我的更新表格脚本仅适用,如果我使用数字但是,如果我尝试使用任何单词,它将无效。我需要帮助,谢谢!

<?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);
} 
?>

2 个答案:

答案 0 :(得分: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 Enjection ..

答案 1 :(得分:0)

传递给SQL语句的每个字符串都必须包含在''中;如果不是,则会导致错误。
话虽如此,将内容从表单直接投入数据库是非常,非常,非常非常(我需要另一个非常)坏。您的数据库可以被任何人轻易擦除;它被称为SQL injection
为了保护您的数据库,您可以从PDO

上的这篇好文章开始