Вставьте символы, такие как & amp; & quot; или «%» в запросе MySQL

Я хотел бы вставить специальный символ («&»или»% «, например) в запросе, но каждый раз, когда я пытаюсь, вставленная строка обрезается.

Например, если я наберу «Боллигер»&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();

Что я могу сделать?

Спасибо!

0

Решение

Пусть это поможет вам …

кратчайший путь здесь … (используя предопределенную функцию 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();
?>
0

Другие решения

Пытаться:

$data1=mysql_real_escape_string("Bolliger&Mabillard is a rollercoaster manufacturer");
0

По вопросам рекламы [email protected]