Я хотел бы вставить специальный символ («&»или»% «, например) в запросе, но каждый раз, когда я пытаюсь, вставленная строка обрезается.
Например, если я наберу «Боллигер»&Mabillard — производитель американских горок », я просто получаю« Bolliger ».
Код, который я использую для вставки строки в базу данных:
include("connect.php");
$query="insert into news (title, body) values('About', 'Bolliger&Mabillard is a rollercoaster manufacturer');";
$run = mysql_query($query) or die ($query);
mysql_close();
Что я могу сделать?
Спасибо!
Пусть это поможет вам …
кратчайший путь здесь … (используя предопределенную функцию mysql)
<?php
include("connect.php");
$bodyData = "Bolliger&Mabillard%is a rollercoaster manufacturer";
$bodyData = mysql_real_escape_string($bodyData);
$query="insert into news (title, body) values('About', '".$bodyData."')";
$run = mysql_query($query) or die ($query);
mysql_close();
?>
или вы можете занять больше времени, как показано ниже … (используя вашу собственную функцию)
<?php
include("connect.php");
function xss($string)
{
return str_replace(
array('!','"','#','$','%','&',"'",'(',')','*','+',',','-','.','/',':',';','<','=','>','?','@','[','\\',']','^','_','{','|','}','~'),
array('\!','\"','\#','\$','\%','\&',"\'",'\(','\)','\*','\+','\,','\-','\.','\/','\:','\;','\<','\=','\>','\?','\@','\[','\\','\]','\^','\_','\{','\|','\}','\~'),
$string);
}$bodyData = "Bolliger&Mabillard%is a rollercoaster manufacturer";
$bodyData = xss($bodyData);
$query="insert into news (title, body) values('About', '".$bodyData."')";
$run = mysql_query($query) or die ($query);
mysql_close();
?>
Вы получите результат, используя этот код …
<?php
include("connect.php");function xss_r($string)
{
return str_replace(
array('\!','\"','\#','\$','\%','\&',"\'",'\(','\)','\*','\+','\,','\-','\.','\/','\:','\;','\<','\=','\>','\?','\@','\[','\\','\]','\^','\_','\{','\|','\}','\~'),
array('!','"','#','$','%','&',"'",'(',')','*','+',',','-','.','/',':',';','<','=','>','?','@','[','\\',']','^','_','{','|','}','~'),
$string);
}
$last = 1; // here your id which is compare with id in database...
$rs = mysql_query("select body from members where id = ".$last);
$row = mysql_fetch_array($rs);
echo xss_r($row['body']);
mysql_close();
?>
Пытаться:
$data1=mysql_real_escape_string("Bolliger&Mabillard is a rollercoaster manufacturer");