2

テキストフィールドの値にアポストロフィがある場合、ヘルプ入力がデータベースに挿入されない必要があります。以下のコードを使用して ' をエスケープしようとしていますが、機能していません。

function myaddslashes($string){ 
    if(get_magic_quotes_gpc() == 1){ 
        return $string; 
    } else { 
        return str_replace("'", "''", $string); 
    } 
}  

これも無駄に使用しました:

function check_input($value)
{
// Stripslashes
if (get_magic_quotes_gpc())
  {
  $value = stripslashes($value);
  }
// Quote if not a number
if (!is_numeric($value))
  {
  $value = "'" . mysql_real_escape_string($value) . "'";
  }
return $value;
}

ここに私のPHPコードがあります:

<?php
    error_reporting(0);
    require 'include/DB_Open.php';

    $RemedyTicketNo = $_POST['RemedyTicketNo'];
    $PhoneNumber = $_POST['PhoneNumber'];
    $Category2 = $_POST['Category2'];
    $Category3 = $_POST['Category3'];
    $Status = $_POST['Status'];
    $Createdate = $_POST['Createdate'];
    $Date = $_POST['Date'];
    $Severity = $_POST['Severity'];
    $BanType = $_POST['BanType'];
    $XiD = $_POST['XiD'];
    $Ticket = $_POST['Ticket'];

    if (isset($RemedyTicketNo)) 
    {
    $sql="INSERT into tbl_main (ars_no, phone_number, category_1, category_2, status, create_date, resolved_date, trouble_type_priority, ban_type, employee_id_name) 
          VALUES ('".$RemedyTicketNo."', '".$PhoneNumber."', '".$Category2."', '".$Category3."', '".$Status."', '".$Createdate."', '".$Date."', '".$Severity."', '".$BanType."', '".$XiD."')";
    $result=mysql_query($sql);

    header("Location: wireless_new.php");
    }

?>

PS ..私はphpとsqlに慣れていないので、まだsqliの使い方を学ぼうとしています...

4

5 に答える 5

0

使用している場合

(すべての本が利用可能です) $subject として、mysql に挿入しようとしています

これを使って

$subject=$_POST['subject'];
$disc_str = addslashes($subject);
"INSERT INTO table name (subject) value('$disc_str')";

tinymceを使用したTextareaでも機能します

于 2015-02-08T06:03:40.267 に答える