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 Enjection を防ぐために追加します。

于 2012-11-28T04:24:39.323 に答える
0

SQL ステートメントに渡されるすべての文字列は、 ''      で囲む必要があります。そうでない場合、エラーが発生します。
      そうは言っても、フォームから直接データベースにコンテンツを投入するのは、非常に非常に非常に (もう 1 つ必要です) 非常に悪いことです。データベースは誰でも簡単に消去できます。これはSQL インジェクション と呼ばれます データベースを保護するには、 PDO
      に関するこの優れた記事から始めることができます

于 2012-11-28T04:36:23.387 に答える