Я пытаюсь немного поработать над безопасностью и дезинфекцией в моем приложении баз данных (для класса). для начала, я пытаюсь использовать mysql_real_escape_string, но всякий раз, когда я его использую, он всегда возвращает пустую строку!PHP mysql_real_escape_string возвращает пустую строку
Вот код подключения:
include_once ("./connect.php");
$db_connection = new mysqli($SERVER, $USERNAME, $PASSWORD, $DATABASE);
if (mysqli_connect_errno()) {
echo("Can't connect to MySQL Server. Error code: " . mysqli_connect_error());
return null;
}
$field = mysql_real_escape_string($_GET['value']);
$upc = $_GET['upc'];
$type = $_GET['field_type'];
echo $field;
echo $upc;
echo $type;
Когда PHP фактически получает выполняется, $ UPC и $ типа распечатана, но НИЧЕГО за $ поля. Ive пытался использовать промежуточную строку, но я получаю тот же результат. Я серьезно не понимаю, что здесь происходит.
Кроме того, я сделал var_dump на $field
, и он утверждает, что mysql_real_escape_string
возвращается FALSE
, что должно произойти, когда нет соединения (?), Но есть один.
Вы уверены, что ** есть активное соединение? Как вы протестировали? Кроме того, включите отчет об ошибках, если вы еще этого не сделали. – Brad
Вы уверены, что значение заполнено? – JonathanRomer
Откуда вы знаете, что есть связь? Я также предлагаю полностью исключить 'mysql_ *' и использовать' PDO' или, по крайней мере, * некоторую * оболочку DB, такую как MDB2 –