Я пытаюсь написать someting в БД с помощью PHP, но если я попытаюсь использовать mysql_real_escape_string(), я не получаю никаких ошибок, но ничего не сохраняется в БД, и я не знаю, почему =/специально, потому что я сделал то же самое на другой PHP файл, и он работал отлично ...Почему mysql_real_escape_string() не работает?
<?php
if(isset($_POST['reporte']))
$falla = $_POST['reporte'];
else
$falla = "";
if(!isset($falla)){
echo '<font color="red">Intentó enviar una forma vacía. Por favor intente de nuevo.</font>';
}else{
$fecha = mysql_real_escape_string(stripslashes($_POST['fecha']));
$usuario = mysql_real_escape_string(stripslashes($_POST['usuario']));
connection...
$sql = "INSERT INTO $tbl_name(usuario, comentario, fecha, estado) VALUES('$usuario','$falla','$fecha', '0')" or die('mysql_error()');
теперь я не проверить, если «Fecha» или «Новичок» пустуют, так как они посылаются через скрытое поле в форме.
Редактировать
Я переключатель там до сих пор нет ошибок и ничего не попадает в дб =/Я смотрю на документации, но я озадачен, потому что я сделал это раньше точно так же, как и он работал ... ха-ха ...
Edit 2
Y эс У меня есть
mysql_query($sql) or die('Error SQL !'.$sql.'<br>'.mysql_error());
Да я установить $ tbl_name вместе с соединением в:
$host="localhost";
$username="user";
$password="pass";
$db_name="cosa";
$tbl_name="reportes";
, и я сделал чек на мониторе базы данных и распечатать его ... он возвращает OK ... однако, что вы подразумеваете под «дезинфекцией» $ falla? Я понимаю инъекцию, но я совершенно новый с php как таковой.
Редактировать 3
Я использую умереть просто чтобы проверить, однако есть не отображается никаких ошибок функционирует гладко просто не вставит вещь, если я использую «mysql_real_escape_string()»
Edit 4
Это мой текущий код:
<?php
if(isset($_POST['reporte']))
$falla = $_POST['reporte'];
else
$falla = "";
if(!isset($falla)){
echo '<font color="red">Intentó enviar una forma vacía. Por favor intente de nuevo.</font>';
}else{
$host="localhost"; // Host name
$username="user"; // Mysql username
$password="pass"; // Mysql password
$db_name="cosa"; // Database name
$tbl_name="reportes"; // Table name
// To protect MySQL injection
$fecha = mysql_real_escape_string(stripslashes($_POST['fecha']));
$usuario = mysql_real_escape_string(stripslashes($_POST['usuario']));
$falla = mysql_real_escape_string(stripslashes($falla));
$db = mysql_connect($host, $username, $password) or die('Cannot Connect '.mysql_error());
mysql_select_db($db_name) or die('Cannot select DB '.mysql_error());
$sql = "INSERT INTO $tbl_name(usuario, comentario, fecha, estado) VALUES('$usuario','$falla','$fecha', '0')" or die('mysql_error()');
mysql_query($sql) or die('Error SQL !'.$sql.'<br>'.mysql_error());
header("location:../../user/usuario.php");
mysql_close();
}
?>
Это полный один, а также изменяется в соответствии с рекомендациями, я получаю здесь ... еще что-нибудь в БД не получаю ...
Можете ли вы отредактировать исходный образец кода, чтобы показать, что у вас есть сейчас? – nickohrn
«sanitize» Я имею в виду «escape-символы, которые являются специальными для базы данных» - как вы делали в $ fecha = mysql_real_escape_string (stripslashes ($ _ POST ['fecha'])); – Piskvor