Я пытаюсь сделать следующую вставку ниже. Когда я просто беру строку, MZ \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0, и непосредственно помещаю ее в оператор вставки, это работает. Однако, когда я получаю это через свою функцию и затем пытаюсь вставить, я получаю пустой набор, когда выбираю все из этой таблицы.
if($_FILES)//check if cookies set
{
require_once 'DBLogin.php';
$conn = new mysqli($hn, $un, $pw, $db);
if($conn -> connect_error) die($conn->connect_error);
$username = $_REQUEST['uname'];
//echo "admin: ".$_SESSION['admin']."<br>";
if (!preg_match("/^[a-zA-Z0-9]+$/", $_POST['mname']))
{
echo "Invalid malware name. Only Numbers and Letters allowed". "<br>";
exit();
}
else if(!isset($_SESSION['check']) || !isset($_COOKIE['token']) ||$_SESSION['check'] !== hash('ripemd128', $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $_COOKIE['token']))
{
echo "Need to login as Admin before can upload files.<br>";
exit();
}
else
{
verifyAdmin($conn);
$fileGood = checkFile($_FILES);
$entry = getSection($fileGood);
$entry = chooseSanitization($conn,$entry, $_FILES['file']['type']);
//$entry = mysql_entities_fix_string($conn,$entry);
if(checkExistence($conn, $_POST['mname'],$entry) === true)
{
echo "Malware sequence and/or name already in database. Please upload different name/sequence. <br>";
exit();
}
$title = $_POST['mname'];
$insertQuery = "Insert into malwarelist (malwareName, sequence) values ('$title','$entry')";
//$insertQuery = "Insert into malwarelist (malwareName, sequence) values ('$title','MZ�\0\0\0\0\0\0\0��\0\0�\0\0\0')";
$conn -> query($insertQuery);
echo "Malware has been added! <br>";
}
$conn->close();
}
function chooseSanitization($connection,$string, $fileType)
{
if ($fileType === 'text/plain')
{
return mysql_entities_fix_string($connection,$string);
}
else
{
return mysql_fix_string($connection,$string);
}
}
function mysql_entities_fix_string($connection, $string)
{
return htmlentities(mysql_fix_string($connection, $string));
}
function mysql_fix_string($connection, $string)
{
if (get_magic_quotes_gpc()) $string = stripslashes($string);
return $connection->real_escape_string($string);
}
Если я попытаюсь сделать «Вставить в список вредоносных программ (malwareName, sequence) значения (« $ title »,« MZ \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 » \ 0 \ 0 ') "это работает, но если я попытаюсь сделать это: Вставить в список вредоносных программ (malwareName, sequence) значения (' $ title ',' $ entry ')". К вашему сведению, $ entry равна MZ \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0, но ничего не вставлено. Почему?